为什么即使“ if”为真,也要执行“ else”语句?

时间:2020-05-04 04:51:33

标签: python if-statement python-3.8

我无法弄清楚为什么输出结果为“?”而不是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)

我尝试了搜索功能,但找不到能解决我的问题的任何东西。感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

您连续运行了几个ifelse语句是最后一个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)