第006讲:改进我们的小游戏(上)| 课后测试题,求答疑
第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')
【我的疑问:】
为什么我输入分数后,会不停打印对应的等级呢? 您好!我来帮您解答第006讲的课后测试题。
您的问题是需要修改代码,让程序可以不断接收输入,直到用户输入小写字母 'e' 结束程序。您的代码片段不完整,但核心思路是正确的。我们需要添加一个循环和异常处理来完善它。
以下是修正后的完整代码:
"""分数评级程序,输入e退出"""
while True:
输入内容 = input("请输入你的分数(输入e退出):\n")
if 输入内容 == 'e':
print("程序结束")
break
try:
分数 = int(输入内容)
if 分数 >= 90:
print("评级: A")
elif 分数 >= 80:
print("评级: B")
elif 分数 >= 70:
print("评级: C")
elif 分数 >= 60:
print("评级: D")
else:
print("评级: F")
except ValueError:
print("错误:请输入有效的数字或输入e退出")
### 解释:
- 使用 while True 创建一个无限循环,直到遇到 break。
- 每次循环中,提示用户输入。
- 如果输入是 'e',打印消息并退出循环。
- 否则,尝试将输入转换为整数,并进行分数评级。
- 添加了 try-except 来处理非数字输入,避免程序崩溃。
这个代码会一直运行,直到用户输入 'e'。希望这能帮到您!如果还有其他问题,请随时问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 jackz007 于 2025-8-19 23:18 编辑
"""分数评级"""
分数 = input("请输入你的分数: ")
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')
分数 = input("请输入你的分数 : ") # 添加此句,因为每次循环都必须输入新的分数以供判定
分数是 while 的循环变量,如果在循环过程中,循环变量(分数)始终保持不变,那么,循环条件就会恒定,一旦进入,就一定会陷入死循环。这就是楼主看到不停打印同一个评分结果的根本原因。
页:
[1]