我试图做的事情:
创建一个计算器应用程序。编写将采用以下格式的两个数字和一个运算符的代码:N1 OP N2,其中 N1 和 N2 是浮点或整数值,OP 是以下之一:+、-、、/、%、*,表示加法、减法、乘法、除法、模数/余数和取幂,并显示对输入操作数执行该操作的结果。
我能想到的:
def calculator(n1,op,n2):
n1 = float(n1)
n2 = float(n2)
if op == "+":
return (n1 + n2)
elif op == "-":
return (n1 - n2)
elif op == "*":
return (n1 * n2)
elif op == "/":
return (n1 / n2)
elif op == "%":
return (n1 % n2)
elif op == "**":
return (n1 ** n2)
有用。但可能有两个潜在的改进:
现在
""
输入运算符时必须使用双引号(),例如calculator(3,"+",3)。否则解释器返回一个SyntaxError
弹出窗口。我试图更改if op == "+":
为if op == +:
,但随后解释器返回一个 SyntaxError,突出:
显示+
.现在该函数将各种数字输入转换为
float()
,即使将整数作为输入。如何让函数本身判断输入是整数还是浮点数,并进行相应的转换?
我阅读了有关函数的文档,但它只讨论了几种类型的参数,而且似乎都没有帮助解决当前的问题。我确信这是非常基本的东西,但作为一个初学者,我尝试过但无法弄清楚。