2010-06-06 17 views
24

Übliche Methode der Mathematik zu Variablen der Anwendung istZuweisen von Operator zu Variable in Python?

a * b 

Ist es in der Lage zwei Operanden wie folgt zu berechnen und zu manipulieren?

a = input('enter a value') 
b = input('enter a value') 
op = raw_input('enter a operand') 

Dann Wie verbinde ich op und zwei Variablen a und b?
Ich weiß, ich op + vergleichen, -, %, $ und dann zuweisen und berechnen ....

Aber ich kann etwas tun, wie a op b, wie Compiler sagen, dass op ein Operator ist?

Antwort

37

Sie können das Bedienmodul und ein Wörterbuch verwenden:

import operator 
ops = {"+": operator.add, 
     "-": operator.sub, 
     "*": operator.mul, 
     "/": operator.div} 
op_char = raw_input('enter a operand') 
op_func = ops[op_char] 
result = op_func(a, b) 
+0

ja dieses Modul ist großartig, ich überprüfe es, danke ...... –

+0

Für python 3.x sollte stattdessen die 'operator.truediv' oder' operator.floordiv' verwendet werden https: // docs. python.org/3/library/operator.html –

6

Das Bedienmodul http://docs.python.org/library/operator.html aussetzt Funktionen entsprechend praktisch alle Python Operatoren. Sie können den Funktionen Operatorsymbole zuordnen, um die richtige Funktion abzurufen, und dann der op-Variablen zuweisen und op (a, b) berechnen.

1

Sie müssen die eingegebene Zeichenfolge des Benutzers mit der Liste der Operanden von Hand vergleichen. Es gibt hier kein Analogon zu int(), da Operatoren Schlüsselwörter in der Sprache und keine Werte sind.

Sobald Sie diese Eingabezeichenfolge mit der Liste der Operanden verglichen und den zugehörigen Operator festgelegt haben, können Sie das operator module der Python-Standardbibliothek verwenden, um das Ergebnis der Anwendung des Operators auf Ihre beiden Operanden zu berechnen.

Verwandte Themen