【发布时间】:2021-01-21 19:12:12
【问题描述】:
我正在编写一个程序,要求用户进行简单的计算。这个想法是将计算运算符作为参数传递,它可以是加法、减法、乘法或除法。我想做以下工作:
def ask(a,b,op):
x = input( a, str(op), b, "=")
return ( x == op(a,b) )
#MAIN:
ask(4, 6, operator.add )
这个想法是这样会产生提示: 4+6=
问题当然是 str 不是这样工作的,我在 python 文档或 google 中找不到类似的东西(很难 google,因为“运算符”这个词太常见了)。
【问题讨论】:
-
是的,Gino,但我希望有更简单的方法来做到这一点。
-
我认为您必须定义“更简单”的含义。这是主观的,因为对我来说map str(op) to operator 的解决方案看起来足够“简单”(清晰/可读,没有外部库)。