鱼C论坛

 找回密码
 立即注册
查看: 48|回复: 3

[已解决]求助!帮看一下课后作业自己写的代码谢谢

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

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

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

x
题目:编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级。
分数 < 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")
最佳答案
昨天 19:32
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表示“否则如果”,不再执行后面的语句
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 18:56 | 显示全部楼层
以下是一个简洁易懂的成绩评级程序,符合题目要求:


  1. try:
  2.     score = float(input("请输入分数(0-100):"))
  3.     if 0 <= score <= 100:
  4.         if score < 60:
  5.             grade = "D"
  6.         elif score < 70:
  7.             grade = "C"
  8.         elif score < 80:
  9.             grade = "B"
  10.         elif score < 90:
  11.             grade = "A"
  12.         else:
  13.             grade = "S"
  14.         print(f"评级结果:{grade}")
  15.     else:
  16.         print("错误:分数必须在0-100之间")
  17. except ValueError:
  18.     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 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 19:32 | 显示全部楼层    本楼为最佳答案   
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表示“否则如果”,不再执行后面的语句
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 昨天 21:22 | 显示全部楼层
ydwb 发表于 2025-7-14 19:32
score = input("请输入你的分数:")
if score == 'e':
        print("over")

谢谢大佬!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-15 02:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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