我必須在十進制數之間執行特定的算術運算。操作可以是'加','減'或'相乘',並且所需的操作將與數字一起傳遞給我們的函數。 我想這樣做的方式是,我想存儲操作'+',' - '和'*'的ASCII值,然後以某種方式使用它執行這兩個數字之間的操作。Python:使用算術運算符的ASCII值執行操作
def (a, b, op):
dict{'add':ord('+'), 'subtract':ord('-'), 'multiply':ord('*')}
return a dict[op] b # this statement does not work
有沒有辦法在Python中實現類似的東西?
我知道一個替代方案是使用:
from operator import add,sub,mul
,然後在哈希採用進口值代替,但對於這個問題,我想找出如果能夠做到這一點,我問在原來的問題。謝謝 !
請務必閱讀[是使用eval在Python不良實踐?](http://stackoverflow.com/q/1832940/464709),但。 –
是的,我知道,但這是問題的要求,更好的方法是使用開關盒或其他一些簡潔的方法,但我不想改變問題的意圖,因此只需進行微小的更改即可使其工作,感謝您的見解,讚賞:) – ZdaR