鱼C论坛

 找回密码
 立即注册
查看: 56|回复: 2

第006讲:改进我们的小游戏(上)| 课后测试题,求答疑

[复制链接]
发表于 昨天 21:18 | 显示全部楼层 |阅读模式

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

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

x
第006讲:改进我们的小游戏(上)| 课后测试题,动动手的这一题不太会。
【题目要求:】
1. 修改上一题的代码,让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
【我的代码:】
"""分数评级"""

分数=input("请输入你的分数:\n")
while 分数!='e':
    分数=int(分数)

    if 分数<60:
        print("D")

    if 60<=分数<80:
        print("C")

    if 80<=分数<90:
        print("B")

    if 90<=分数<100:
        print('A')

    if 分数==100:
        print('S')
【我的疑问:】
为什么我输入分数后,会不停打印对应的等级呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 21:19 | 显示全部楼层
您好!我来帮您解答第006讲的课后测试题。

您的问题是需要修改代码,让程序可以不断接收输入,直到用户输入小写字母 'e' 结束程序。您的代码片段不完整,但核心思路是正确的。我们需要添加一个循环和异常处理来完善它。

以下是修正后的完整代码:


  1. """分数评级程序,输入e退出"""

  2. while True:
  3.     输入内容 = input("请输入你的分数(输入e退出):\n")
  4.     if 输入内容 == 'e':
  5.         print("程序结束")
  6.         break
  7.     try:
  8.         分数 = int(输入内容)
  9.         if 分数 >= 90:
  10.             print("评级: A")
  11.         elif 分数 >= 80:
  12.             print("评级: B")
  13.         elif 分数 >= 70:
  14.             print("评级: C")
  15.         elif 分数 >= 60:
  16.             print("评级: D")
  17.         else:
  18.             print("评级: F")
  19.     except ValueError:
  20.         print("错误:请输入有效的数字或输入e退出")
复制代码


### 解释:
- 使用 while True 创建一个无限循环,直到遇到 break
- 每次循环中,提示用户输入。
- 如果输入是 'e',打印消息并退出循环。
- 否则,尝试将输入转换为整数,并进行分数评级。
- 添加了 try-except 来处理非数字输入,避免程序崩溃。

这个代码会一直运行,直到用户输入 'e'。希望这能帮到您!如果还有其他问题,请随时问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 23:08 | 显示全部楼层
本帖最后由 jackz007 于 2025-8-19 23:18 编辑
  1. """分数评级"""

  2. 分数 = input("请输入你的分数: ")
  3. while 分数 !='e':
  4.     分数=int(分数)
  5.     if 分数<60:
  6.         print("D")

  7.     if 60<=分数<80:
  8.         print("C")

  9.     if 80<=分数<90:
  10.         print("B")

  11.     if 90<=分数<100:
  12.         print('A')

  13.     if 分数==100:
  14.         print('S')

  15.     分数 = input("请输入你的分数 : ")     # 添加此句,因为每次循环都必须输入新的分数以供判定   
复制代码


        分数是 while 的循环变量,如果在循环过程中,循环变量(分数)始终保持不变,那么,循环条件就会恒定,一旦进入,就一定会陷入死循环。这就是楼主看到不停打印同一个评分结果的根本原因。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-20 14:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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