Seite 1 von 1

int, str, ...

Verfasst: Mittwoch 5. April 2017, 13:39
von SerBlack
Hallo, ich wollte etwas wissen: Buchstaben = string, Zahlen = int. und was sind dann Sonderzeichen wie z.B. : */+-?

Re: int, str, ...

Verfasst: Mittwoch 5. April 2017, 13:55
von BlackJack
@SerBlack: Strings können aus mehr bestehen als nur Buchstaben. Auch aus Ziffern oder ”Sonderzeichen”. Und Zahlen umfasst mehr Datentypen als `int`. `float`, `decimal.Decimal`, `fractions.Fraction`, und im Grunde sogar `bool`, wären alles Zahlen. Insofern ist die Frage nicht ganz eindeutig, denn innerhalb eines Strings sind diese Zeichen einfach weitere Zeichen des Strings. In Python sind es, genau wie in der Mathematik binäre Operatoren. Und ``+`` und ``-`` gehen auch als unäre Operatoren.

Re: int, str, ...

Verfasst: Mittwoch 5. April 2017, 14:12
von SerBlack
Was würde dann hier rein kommen?

Code: Alles auswählen

while True:
    try:        
        oper = [u]str[/u](input("Welche Rechenoperation soll durchgeführt werden? (+,-,/.,*): "))
        break
    except ValueError:
        print("Ups! Das war keine gültige Rechenoption. Versuche es noch einmal...")

Re: int, str, ...

Verfasst: Mittwoch 5. April 2017, 14:24
von Kebap
input() liefert dir bereits String, also brauchst du nicht nochmal str() darauf anzuwenden.

Re: int, str, ...

Verfasst: Mittwoch 5. April 2017, 14:27
von BlackJack
@SerBlack: Gar nichts, Operatoren werden vom Compiler erkannt und in Bytecode umgewandelt, also bevor das Programm läuft. Das ist Syntax.

Es gibt im `operator`-Modul Funktionen für alle Operatoren. Du könntest also beispielsweise ein Wörterbuch anlegen das Zeichenketten mit den Operatorsymbolen auf die entsprechenden Funktionen abbildet und dann die Benutzereingabe verwenden um die zum eingebeben Symbol gehörende Funktion zu ermitteln und die dann später mit den beiden Operanden aufrufen.