Hi Leute,
ich sitze hier gerade an einem Script und frage mich warum ich bei mathematischen Rechnungen
den Operator nicht durch eine Variable ersetzen kann!
Hab schon Google gequält und mehrere Foren abgeklappert, aber ich fand nirgendswo eine passende Lösung.
Also z.B. so: ergebnis = operand1 operator operand2
Ich bräuchte eine Funktion der ich beide Operatoren und den Operator übergeben kann. Etwas in dieser Art:
Beispielhafter Aufruf der Funktion:Code:def rechnung(op1, op2, operator): ergebnis = op1 operator op2 print "Die Rechnung lautet: %s %s %s = %s" %(op1, operator, op2, ergebnis)
Code:rechnung(5,4,"+") >> Die Rechnung lautet: 5 + 4 = 9
Die ganzen Variablen werden danach noch in ein Array gesteckt und einer anderen Funktion übergeben.
Da kommt immer ein Syntax Error...
Geht das bei Python nicht oder übersehe ich irgendwas ?
Grüße
+ Antworten
Ergebnis 1 bis 4 von 4
- 28.07.10, 16:44 #1
Python: Operator als Variable ?
Geändert von Nudelholz (28.07.10 um 16:47 Uhr)
- 28.07.10, 22:11 #2
- 29.07.10, 13:49 #3
Für normal versuche ich exec zu meiden, aber in diesem fall ists denk ich um einiges weniger aufwand/code als für jeden operator ne eigene funktion zu verwenden ^^
Code:def rechnung(op1, op2, operator): exec("ergebnis="+str(op1)+operator+str(op2)) print "Die Rechnung lautet: %s %s %s = %s" %(op1, operator, op2, ergebnis)
- 30.07.10, 15:18 #4Stabsgefreiter
- Registriert seit
- 20.11.2006
- Ort
- HH
- Beiträge
- 378
operator als string übergeben und durch case / if else unterscheiden.
Ist IMO auch besser, da du so vernünftig Fehlerfälle behandeln kannst.bye Toc
(((((
(._. )
(')(')_)

LinkBack URL
About LinkBacks
Zitieren

