将运算符分配给python中的变量?

新手上路,请多包涵

将数学应用于变量的常用方法是

a * b

它能够像这样计算和操作两个操作数吗?

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

那么我如何连接 op 和两个变量 ab

I know I can compare op to + , - , % , $ and then assign and compute….

但是我可以做类似 a op b 的事情吗,如何告诉编译器 op 是一个运算符?

原文由 Abhilash Muthuraj 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 539
2 个回答

您可以使用运算符模块和字典:

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

原文由 Matthew Flaschen 发布,翻译遵循 CC BY-SA 4.0 许可协议

运算符模块 http://docs.python.org/library/operator.html 公开了与几乎所有 Python 运算符相对应的函数。您可以将运算符符号映射到这些函数以检索正确的函数,然后将其分配给您的 op 变量并计算 op(a, b)。

原文由 Luciano Ramalho 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏