鱼C论坛

 找回密码
 立即注册
查看: 2672|回复: 6

[已解决]纯小白求助 为什么分数100时 不输出S

[复制链接]
发表于 2022-10-12 13:41:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
'''评分程序'''


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("请输入您的分数:"))
   

最佳答案
2022-10-12 14:01:34
本帖最后由 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 
        如果键入的值在 [0 , 100] 以外,那就不循环了,这就是单个 if 体系的优点所在。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-12 13:53:51 | 显示全部楼层
当score == 100时不会进入while循环,程序直接结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-12 14:01:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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 
        如果键入的值在 [0 , 100] 以外,那就不循环了,这就是单个 if 体系的优点所在。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-12 14:20:40 | 显示全部楼层
因为score==100时,while语句不成立,所有循环不会执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-12 15:48:09 | 显示全部楼层
因为设置了输入100分的时候跳出循环阿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-12 16:57:24 | 显示全部楼层
把score != 100改成1,再把score = int(input("请输入您的分数:"))放到while循环里面也行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-12 17:10:41 | 显示全部楼层
因为你循环的结束条件是  while score != 100:   
就是说分数不等于100时才会继续循环,当分数等于100时,你的循环就结束了,所以就不会输出你循环中的内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 23:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表