【发布时间】:2019-03-17 16:28:40
【问题描述】:
我想在给定元组的 python 中使用算术运算。事情是我知道我可以为它们中的每一个使用 if 语句,并且根据用户输入,它会给出正确的答案。我不知道,但有没有办法在没有 ifs 的情况下做到这一点。正如您在下面看到的,我已经尝试过使用 for,但我无法将字符串作为算术运算符。
代码:
__operators = ('+', '-', '/', '//', '*', '**', '%')
def calculator():
x = input()
operator = input()
y = input()
op = operator
# print(str(x) + operator + str(y))
rezultat = 0
for operator in __operators:
if operator in __operators:
operator = op
rezultat = x + op + y
print(rezultat)
return rezultat
calculator()
【问题讨论】:
-
您遇到了麻烦,因为它不是 运算符,它只是一个字符串。此外,
if operator in __operators:似乎完全没有意义,因为你在循环中for operator in __operators:。 -
@jonrsharpe 感谢您的更正。有没有办法转换它,以便 python 将其作为运算符读取?
-
您可能希望使用字典,将运算符字符串映射到来自
operator模块的运算符函数。 -
有几个选项。我建议研究一下,关于如何从字符串到运算符的现有问题。
标签: python