You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在学生信息为用户输入(未知)时追踪分数并检测是否等于10?

学生分数追踪程序解决方案

完整可用代码

# 收集学生及分数
student_scores = {}
enter_name = True

while enter_name:
    name = input("Name: ")
    if name == "end":
        enter_name = False
        continue
    # 输入对应分数,同时处理无效输入
    try:
        score = int(input(f"输入{name}的分数: "))
        student_scores[name] = score
        # 检测满分
        if score == 10:
            print(f"{name}拿了满分10分!")
    except ValueError:
        print("请输入数字分数!")

# 输出所有学生分数
print("\n学生分数汇总:")
for name, score in student_scores.items():
    print(f"{name}: {score}")
    if score == 10:
        print(f"  ✅ {name}获得满分!")

核心改进点

  • 用**字典student_scores**代替单纯的名字列表,直接把学生名字和分数绑定,完美解决"追踪不同学生分数"的核心需求
  • 输入名字时同步录入分数,一步完成信息收集,不用拆分两次循环操作
  • 增加输入验证逻辑,避免用户输入非整数导致程序报错崩溃
  • 实时检测分数是否为10,输入阶段就给出提示,最后汇总时也会专门标注满分学生

原代码的问题修正

原代码仅存储了学生名字列表,无法建立名字与分数的对应关系。而字典的键值对结构正好适配这种"一对一"的信息存储场景,是这类问题的标准解决方案。

内容的提问来源于stack exchange,提问作者Vic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:15:31