int, str, ...
@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.
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...")
input() liefert dir bereits String, also brauchst du nicht nochmal str() darauf anzuwenden.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
@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.
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.