我必须在十进制数之间执行特定的算术运算。操作可以是'加','减'或'相乘',并且所需的操作将与数字一起传递给我们的函数。 我想这样做的方式是,我想存储操作'+',' - '和'*'的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