求助 Pyhton第六课课后作业
题目内容:0. 编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级。
分数 < 60,D
60 <= 分数 < 80,C
80 <= 分数 < 90,B
90 <= 分数 < 100,A
分数 == 100,S
让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
这是我写的代码
"分数评级"
score = int(input("输入分数:"))
while score != "e":
if score == 100:
print("S")
else:
if 90 <= score < 100:
print("A")
else:
if 80 <= score < 90:
print("B")
else:
if 60 <= score < 80:
print("C")
else:
print("D")
score = input("请输入你的分数:")
不知道为什么这个代码只能跑一次,并且输入e就报错,求助 鱼油你好!这道题主要练习条件判断,可以使用 if/elif/else 来实现。下面是一个常见的评级程序:
score = float(input("请输入分数:"))
if score < 60:
print("D")
elif score < 70:
print("C")
elif score < 80:
print("B")
elif score < 90:
print("A")
else:
print("S")
这段代码会根据分数输出对应的评级。如果你的评级标准不一样,只需要修改 elif 里的分数范围即可。运行试试吧!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 你这里e是字符串,不能和int()比,我之前遇到过这个问题。最后一行也很奇怪
本帖最后由 柿子饼同学 于 2026-8-10 20:38 编辑
score = int(input("输入分数:"))
while score != "e":
score = int(score);
if score == 100:
print("S")
else:
if 90 <= score < 100:
print("A")
else:
if 80 <= score < 90:
print("B")
else:
if 60 <= score < 80:
print("C")
else:
print("D")
score = input("请输入你的分数:")
看到第四行, 我加了一个 score = int(score), 原因是input()的返回值是 str 类型, 无法进行比较,
在第一次输入时你使用 int(input()) 不会报错, 但是后面都没有, 所以会报错
现在如果你最后一次输入的是e, 那么会先过 while score != "e" 这关, 也就是会结束循环, 如果不是 e, 说明大概是数字, 就把这个代表数字的字符串变成数字(第四行)
地位相当的多选择建议使用 if - elif - elif - else 的方式, 会比嵌套 if 更好读 柿子饼同学 发表于 2026-8-10 20:33
看到第四行, 我加了一个 score = int(score), 原因是input()的返回值是 str 类型, 无法进行比较,
在第 ...
0基础学的这个 还没学到 elif - elif 哈 谢谢! 本帖最后由 柿子饼同学 于 2026-8-12 18:00 编辑
Joshua_M 发表于 2026-8-11 21:38
0基础学的这个 还没学到 elif - elif 哈 谢谢!
还有什么问题吗, 欢迎追问, 如果没有可以点最佳答案然后这个问题就结束了 # cj=0
while True:
cj=input('请输入成绩(100以内的数字,输入字母“e”结束)?')
if cj=='e':
break
try:
# 尝试将输入转换为浮点数(如果想限制整数,改为 int())
cj = float(cj)
# return cj# 只有转换成功才会退出循环
except ValueError:
print('❌ 错误:请输入有效的数字,不能输入文本!(输入字母“e”结束)')
continue
if cj<0:
print('成绩不能输入负数')
elif cj<60:
print('D')
elif cj<80:
print('C')
elif cj < 90:
print('B')
elif cj<100:
print('A')
elif cj==100:
print('S')
else:
print('成绩不能超过100')
页:
[1]