2010-06-06 171 views
24

應用數學變量,通常的方法是賦值運算符Python中的變量?

a * b 

是它能夠計算和操作兩個操作數也是這樣嗎?

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

那麼我如何連接OP和兩個變量ab
我知道我可以比較運到+-%$,然後分配和計算....

,但我可以做這樣的事情a op b,如何告訴編譯器,op是操作?

回答

37

您可以使用操作模塊和詞典:

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

是這個模塊很棒,我正在檢查它,謝謝...... – 2010-06-06 05:16:50

+0

對於python 3.x,應該使用'operator.truediv'或'operator.floordiv'來代替https:// docs。 python.org/3/library/operator.html – 2017-02-14 21:20:11

6

操作模塊http://docs.python.org/library/operator.html暴露對應於幾乎所有的Python運營商的功能。你可以操作符號映射到這些功能來恢復正常的功能,然後將其分配給您的運算變量,計算OP(A,B)。

1

你需要用戶輸入的字符串比較,以你的手的操作數的列表。這裏沒有類似於int()的操作,因爲操作符是語言中的關鍵字而不是值。

將輸入字符串與操作數列表進行比較並確定其對應的運算符後,可以使用Python標準庫的operator module來計算將運算符應用於兩個操作數的結果。