信息科技· 第3章 算法与 Python 编程
3.7知识点 · 课时

综合实战:自动批改助手

综合运用算法思维和 Python 三大结构,完成完整的「自动批改助手」。

终极挑战:完成自动批改助手

恭喜来到最后一关!前面 6 关我们一步步学会了:算法思维、流程图、Python 变量、顺序结构、选择结构、循环结构。

现在,把它们全部整合,完成一个真正能用的「自动批改助手」。

回顾:我们走过的路

关卡学到了什么项目进展
1算法的概念分析了「人工批改」的步骤
2流程图和伪代码画出了批改的算法
3变量、列表、元组用列表存答案
4顺序结构实现输入和输出
5选择结构能判断对错
6循环结构能批改多道题

完整版:自动批改助手 v1.0

# ===== 自动批改助手 v1.0 =====
# 功能:自动批改一张选择题试卷,输出每题对错和总分

# 1. 准备数据
standard_answers = ["A", "C", "B", "D", "A"]
points_per_question = 2

# 2. 输入学生答案(用循环逐题输入)
print("=== 自动批改助手 ===")
print(f"本试卷共 {len(standard_answers)} 道题,每题 {points_per_question} 分")
print()

student_answers = []
for i in range(len(standard_answers)):
    answer = input(f"请输入第 {i+1} 题的答案(A/B/C/D):")
    student_answers.append(answer)

# 3. 批改(循环 + 判断)
print()
print("=== 批改结果 ===")
total = 0
for i in range(len(standard_answers)):
    if student_answers[i] == standard_answers[i]:
        total = total + points_per_question
        print(f"第 {i+1} 题:✅ 正确")
    else:
        print(f"第 {i+1} 题:❌ 错误(你的:{student_answers[i]},正确:{standard_answers[i]})")

# 4. 输出总分和统计
full_score = len(standard_answers) * points_per_question
print()
print(f"总分:{total} / {full_score}")

if total == full_score:
    print("🎉 满分!太厉害了!")
elif total >= full_score * 0.6:
    print("👍 及格了,继续加油!")
else:
    print("💪 没及格,多练习哦!")

运行效果

=== 自动批改助手 ===
本试卷共 5 道题,每题 2 分

请输入第 1 题的答案(A/B/C/D):A
请输入第 2 题的答案(A/B/C/D):B
请输入第 3 题的答案(A/B/C/D):B
请输入第 4 题的答案(A/B/C/D):D
请输入第 5 题的答案(A/B/C/D):C

=== 批改结果 ===
第 1:✅ 正确
第 2:❌ 错误(你的:B,正确:C)
第 3:✅ 正确
第 4:✅ 正确
第 5:❌ 错误(你的:C,正确:A)

总分:6 / 10
👍 及格了,继续加油!

这个程序用到了哪些知识

知识点在哪里用到
变量totalfull_score
列表standard_answersstudent_answers
len()len(standard_answers) 获取题目数量
append()逐题把学生答案加入列表
顺序结构整体按"准备→输入→批改→输出"顺序执行
选择结构(if)判断每题对错、判断是否满分/及格
循环结构(for)逐题输入、逐题批改
f-string格式化输出
累加total = total + points 统计总分

你还可以怎么扩展

这个程序还能做得更好,试着挑战:

  1. 支持多学生:把批改逻辑放到一个循环里,逐个学生输入并批改
  2. 统计错题:记录哪些题错的人最多(提示:用列表存每题的错误次数)
  3. 支持不同分值:用元组存每题的分值 (2, 3, 2, 3, 5),总分按实际计算
  4. 输出等级:90% 以上 A,80% 以上 B,60% 以上 C,否则 D

🎉 恭喜通关!

你完成了「算法与 Python 编程」全部 7 关!回顾一下你掌握的能力:

  • ✅ 能分析问题、设计算法(算法思维)
  • ✅ 能用流程图和伪代码描述算法
  • ✅ 会 Python 基本语法(变量、数据类型、列表、元组)
  • ✅ 能写顺序、选择、循环三种结构的程序
  • 完成了一个真正能用的「自动批改助手」程序

这就是计算思维的核心——把一个真实问题,拆解成算法,再用编程实现。 从"人工批改 30 份试卷要 1 小时",到"程序 1 秒批完",这就是信息科技的力量。

🤔 思考

  • 这个程序还有什么不足?如果要批改填空题,要怎么改?
  • 如果试卷有 100 道题,你的程序需要改哪里?(答案:几乎不用改,改 standard_answers 即可)
  • 你能用学到的知识,做一个别的工具吗?(如:计算器、密码生成器、猜数字游戏)

📝 本模块小结

7 关通关,你已掌握 Python 编程的基础能力。后续课程将进入数据处理与可视化(第五章)和人工智能(第六章),用 Python 处理更复杂的数据。

随堂练习

检验一下你对本节内容的理解

在「自动批改助手 v1.0」中,如果要批改的题目从 5 道变成 100 道,程序的核心批改逻辑(for 循环部分)需要修改吗?