yjx20060525 发表于 2025-7-14 18:56:18

求助!帮看一下课后作业自己写的代码谢谢

题目:编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级。
分数 < 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")

FishC 发表于 2025-7-14 18:56:57

以下是一个简洁易懂的成绩评级程序,符合题目要求:


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 小助理,如未能正确解答您的问题,请继续追问。

ydwb 发表于 2025-7-14 19:32:16

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表示“否则如果”,不再执行后面的语句

yjx20060525 发表于 2025-7-14 21:22:05

ydwb 发表于 2025-7-14 19:32
score = input("请输入你的分数:")
if score == 'e':
      print("over")


谢谢大佬!
页: [1]
查看完整版本: 求助!帮看一下课后作业自己写的代码谢谢