求助!帮看一下课后作业自己写的代码谢谢
题目:编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级。分数 < 60,D
60 <= 分数 < 80,C
80 <= 分数 < 90,B
90 <= 分数 < 100,A
分数 == 100,S
输入e的时候结束
求问:为什么不可以这样写 难道不能把变量赋值成字母吗
score = input("请输入你的分数:")
if int(score) < 60:
print("D")
if 60 <= int(score) < 80:
print("C")
if 80 <= int(score) < 90:
print("B")
if 90 <= int(score) < 100:
print("A")
if int(score) == 100:
print("S")
if score == 'e':
print("over")
以下是一个简洁易懂的成绩评级程序,符合题目要求:
try:
score = float(input("请输入分数(0-100):"))
if 0 <= score <= 100:
if score < 60:
grade = "D"
elif score < 70:
grade = "C"
elif score < 80:
grade = "B"
elif score < 90:
grade = "A"
else:
grade = "S"
print(f"评级结果:{grade}")
else:
print("错误:分数必须在0-100之间")
except ValueError:
print("错误:请输入数字")
代码说明:
1. 使用 float(input()) 兼容整数和小数输入
2. 通过 try-except 处理非数字输入
3. 阶梯式判断条件(60/70/80/90为分界点)
4. 包含分数范围验证(0-100)
5. 错误提示明确:
- 输入非数字时提示 "请输入数字"
- 超出范围时提示 "分数必须在0-100之间"
使用示例:
请输入分数(0-100):85
→ 输出:评级结果:A
请输入分数(0-100):101
→ 输出:错误:分数必须在0-100之间
这个程序完整覆盖了题目要求的所有评分区间,并做了健壮性处理。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 score = input("请输入你的分数:")
if score == 'e':
print("over")
elif int(score) < 60:
print("D")
elif 60 <= int(score) < 80:
print("C")
elif 80 <= int(score) < 90:
print("B")
elif 90 <= int(score) < 100:
print("A")
elif int(score) == 100:
print("S")
把e写在前面,避免转化int引发错误,用elif表示“否则如果”,不再执行后面的语句 ydwb 发表于 2025-7-14 19:32
score = input("请输入你的分数:")
if score == 'e':
print("over")
谢谢大佬!
页:
[1]