本帖最后由 jackz007 于 2022-9-16 09:41 编辑 while True:
temp = input("Please guess the number :")
number = int(temp)
. . . . . .
if number == 100:
print("S")
else:
print("Invalid")
break
根本不是"无故退出",这些语句告诉我们,除非 number = 100,否则,都会退出循环,问题出在 if ... else 逻辑使用不合适,你是在根据 number 数值进行分数的分段判断,从头到尾应该属于同一个逻辑,也就是同一个 if,可是,你却使用了多个相互独立的 if,问题就出在了这里。
if ... elif ... elif ... else 了解一下
一个 if 可以带无数个 elif 和 一个 else,特别适用于需要对数值进行分段判断的场合
所以,请楼主一定要参考一下下面的代码f = True
while f:
temp = input("input your score please : ")
if temp . lower() == 'e':
f = False
elif temp . isdigit():
number = int(temp)
if 0 <= number <= 100:
if number == 100:
print('S\n')
elif 90 <= number < 100:
print('A\n')
elif 80 <= number < 90:
print('B\n')
elif 60 <= number < 80:
print('C\n')
else:
print('D\n')
else:
print("Invalid score .\n")
else:
print('Invalid input .\n')
运行实况:D:\[00.Exerciese.2022]\Python>python x.py
input your score please : ABC
Invalid input .
input your score please : 120
Invalid score .
input your score please : 88
B
input your score please : e
D:\[00.Exerciese.2022]\Python>
|