基本计算器"subtract"功能不起作用



我正在尝试用python制作我的第一个程序。我为两个数字(num1和num2(做了一系列if语句。我的所有代码都适用于加法、乘法和除法运算符,但当我使用减法运算符时,我要么没有得到消息,要么它会打印"无效运算符"。我确信我只是做错了一些简单的事情,因为我今天刚刚开始学习python,但我非常感谢任何帮助。谢谢

num1= float(input("enter first number:"))
operator = (input("enter operator:"))
num2= float(input("enter second number:"))
if operator== ("add" or "+" "sum"or "summation"):
print(num1+num2)
elif operator== ("multiply" or "multiplication" or"*"):
print(num1*num2)
elif operator== ("divide" or "division" or "/"):
print(num1/num2)
elif operator== ("minus" or "subtract" or "-"):
print(num1-num2)
else:
print("Invalid Operator")

输出:

C:UsersclubjPycharmProjectsuntitled9venvScriptspython.exe "C:/Users/clubj/PycharmProjects/untitled9/better calculator.py"
enter first number:32
enter operator:-
enter second number:6
Invalid Operator

进程已完成,退出代码为0

进程已完成,退出代码为0

替换了所有或并创建一个元组。只有当你写时,你的代码才会

if (operator== "add") or (operator=="+") or (operator=="sum") or (operator =="summation"):

代替

operator== ("add" or "+" or "sum" or "summation"):

num1= float(input("enter first number:"))
operator = (input("enter operator:"))
num2= float(input("enter second number:"))
print(operator)
if operator in ("add", "+", "sum", "summation"):
print(num1+num2)
elif operator in ("multiply", "multiplication", "*"):
print(num1*num2)
elif operator in ("divide", "division", "/"):
print(num1/num2)
elif operator in ("minus", "subtract", "-"):
print(num1-num2)
else:
print("Invalid Operator")

您也可以尝试python builtin function eval()。Eval函数主要用于需要评估mathematical表达式的情况或应用程序。此外,如果用户想将string计算为code,则可以使用eval函数,因为eval函数计算字符串表达式并返回整数作为结果。

num1= input("enter first number:")
operator = input("enter operator:")
num2= input("enter second number:")
if operator in ["+", '-', '/', '*', '//', '%']:
print(eval(num1+ operator+ num2))
else:
print("Invalid operator")

最新更新