我正在写一个程序,要求用户进行简单的计算。其思想是将计算运算符作为参数传递,它可以是加法、减法、乘法或除法。我想做一些类似以下的工作:
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很难搜索到,因为"operator“这个词太常见了)。
发布于 2021-01-21 19:06:43
如果您的符号数量有限,最好是编写一本字典,将它们分配给彼此。就像{operator.add: '+', ...}一样。
Afaik现在可以从运算符函数中找到符号。我能做的最多就是
import operator
def ask(a, b, op):
x = input(f"{op.__name__} {a} and {b} =")
return (int(x) == op(a,b))
print(ask(4, 2, operator.add))这将为您提供运算符的名称(而不是符号
https://stackoverflow.com/questions/65825765
复制相似问题