我是 python 的新手,并试图在下面编写类似这样的东西(代码 A),所以它确实像代码 B。我想利用数学运算符的用户输入作为 do_what
变量.我们如何用 Python 编写此代码 (A),使其像代码 B 一样工作?
代码A
num1 = input("Enter a number: ")
num2 = input("Enter another number: ")
do_what = input("Enter a calculation symbol for calculation you want to perform: ")
result = float(num1) do_what float(num2)
print("result is: " + str(result))
代码B
num1 = input("Enter a number: ")
num2 = input("Enter another number: ")
result = int(num1) + int(num2)
print("result is: " + str(result))
您可以使用 operator module对于常见的运算符,并制作一个查找字典以将符号映射到函数。如果您希望运算符不在该模块中,您可以简单地定义自定义函数并以相同的方式添加查找它们:
import operator
operatorlookup = {
'+': operator.add,
'-': operator.sub,
'*': operator.mul,
'/': operator.truediv
}
num1 = input("Enter a number: ")
num2 = input("Enter another number: ")
do_what = input("Enter calculation symbols for calculation you want to perform: ")
op = operatorlookup.get(do_what)
if op is not None:
result = op(float(num1), float(num2))
else:
result = "Unknown operator"
print("result is: " + str(result))