我无法弄清楚为什么输出结果为“?”而不是int(3)。有人可以解释一下吗?运行Python 3.8。
number1=3
number2=1
operator="*"
if operator =="+":
answer=number1+number2
if operator =="-":
answer=number1-number2
if operator =="*":
answer=number1*number2
if operator =="/":
answer=number1/number2
else:
answer="?"
print(answer)
我尝试了搜索功能,但找不到能解决我的问题的任何东西。感谢您的帮助!
答案 0 :(得分:3)
您连续运行了几个if
。 else
语句是最后一个if
的一部分,在上一个ifs
中无效。试试这个-
if operator =="+":
answer=number1+number2
elif operator =="-":
answer=number1-number2
elif operator =="*":
answer=number1*number2
elif operator =="/":
answer=number1/number2
else:
answer="?"
答案 1 :(得分:1)
最后的else语句将在operator != "/"
时运行。您应该使用elif
语句
正确的方法:
number1=3
number2=1
operator="*"
if operator =="+":
answer=number1+number2
elif operator =="-":
answer=number1-number2
elif operator =="*":
answer=number1*number2
elif operator =="/":
answer=number1/number2
else:
answer="?"
print(answer)