gpt4 book ai didi

python - 为什么else语句总是运行?

转载 作者:行者123 更新时间:2023-12-02 20:57:50 24 4
gpt4 key购买 nike

我一直在用 Python 制作一个基本的计算器,我遇到了这个问题。计算完成后,“Invalid Number”always 打印出来。

print("Select an action ")
print("1.) Add")
print("2.) Subtract")
print("3.) Multiply")
print("4.) Divide")
ac = int(input(">>>"))
print("First number :")
fn = float(input(">>>"))
print("Second number :")
sn = float(input(">>>"))

if ac == 1:
print(fn + sn)
if ac == 2:
print(fn - sn)
if ac == 3:
print(fn * sn)
if ac == 4:
print(fn / sn)
else:
print("Invalid Number")
print("Press enter to continue")
input()

示例(错误)输出是:

Select an action 
1.) Add
2.) Subtract
3.) Multiply
4.) Divide
>>>1
First number :
>>>2
Second number :
>>>3
5.0
Invalid Number
Press enter to continue

我怎样才能解决这个问题,让“无效号码”只在应该打印的时候打印?

最佳答案

它与您构建代码的方式有关,请考虑使用 if...elif:

print("Select an action ")
print("1.) Add")
print("2.) Subtract")
print("3.) Multiply")
print("4.) Divide")
ac = int(input(">>>"))
print("First number :")
fn = float(input(">>>"))
print("Second number :")
sn = float(input(">>>"))

if ac == 1:
print(fn + sn)
elif ac == 2:
print(fn - sn)
elif ac == 3:
print(fn * sn)
elif ac == 4:
print(fn / sn)
else:
print("Invalid Number")
print("Press enter to continue")
input()

解释:之前,您检查的是 ac == 1 ac == 4两者都为真,所以第二个 else 语句也被执行。这可以用 if..elif 结构省略:一旦前面的比较之一变为真,其余的就不再执行。

关于python - 为什么else语句总是运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39616937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com