int, str, ...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
SerBlack
User
Beiträge: 41
Registriert: Freitag 31. März 2017, 11:45

Hallo, ich wollte etwas wissen: Buchstaben = string, Zahlen = int. und was sind dann Sonderzeichen wie z.B. : */+-?
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.
SerBlack
User
Beiträge: 41
Registriert: Freitag 31. März 2017, 11:45

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...")
Benutzeravatar
Kebap
User
Beiträge: 691
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

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.
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.
Antworten