纯小白求助 为什么分数100时 不输出S
'''评分程序'''score = int(input("请输入您的分数:"))
while score != 100:
if 0<= score < 60:
print("D")
if 60<= score <80:
print("C")
if 80<= score <90:
print("B")
if 90<= score <100:
print("A")
if score == 100:
print("S")
score = int(input("请输入您的分数:"))
当score == 100时不会进入while循环,程序直接结束 本帖最后由 jackz007 于 2022-10-12 14:28 编辑
while score != 100 : # 问题在这里,只有 score 的值不是 100 才能进入 while 循环
像这种分段判断问题应该使用 if ... elif ... elif ... else 结构,一个 if 系统搞定所有问题,逻辑缜密严谨。
while True:
score = int(input("请输入您的分数:"))
if 0 <= score < 60 : print("D")
elif 60 <= score < 80 : print("C")
elif 80 <= score < 90 : print("B")
elif 90 <= score <100 : print("A")
elif score == 100 : print("S")
else : break
如果键入的值在 以外,那就不循环了,这就是单个 if 体系的优点所在。 因为score==100时,while语句不成立,所有循环不会执行 因为设置了输入100分的时候跳出循环阿 把score != 100改成1,再把score = int(input("请输入您的分数:"))放到while循环里面也行
因为你循环的结束条件是while score != 100:
就是说分数不等于100时才会继续循环,当分数等于100时,你的循环就结束了,所以就不会输出你循环中的内容
页:
[1]