第十一课:综合实战——学生成绩小管家
入门 python教学 · 2026-10-06 · 阅读 3

十课学完,散装的知识点攒了一堆。这一课玩一次大的:做一个"学生成绩小管家"——能录入成绩、查成绩、算平均分、找最高分。你会发现,之前学的每个知识点都是它的一块拼图。
一、项目长什么样
运行后是这样的菜单,输入数字选功能,输 0 退出:
1.录入成绩 2.查看全部 3.平均分 4.最高分 0.退出 请选择:1 姓名:小明 成绩:85 录入成功!
二、先设计,再动手

对照一下知识点地图:
| 用到的功能 | 靠哪课的知识 |
|---|---|
| 存多个学生的姓名+成绩 | 第九课:字典装进列表 |
| 每个功能一块代码 | 第十课:函数 |
| 菜单反复出现 | 第七课:while 循环 |
| 按选择执行不同功能 | 第六课:if-elif-else |
| 读入姓名成绩、打印结果 | 第四课:input / print / f-string |
三、完整代码
students = [] # 全班数据:一个装字典的列表
def add_student():
name = input("姓名:")
score = float(input("成绩:"))
students.append({"姓名": name, "成绩": score})
print("录入成功!")
def show_all():
if not students:
print("还没有数据,先录入吧")
return
for s in students:
print(f"{s['姓名']}:{s['成绩']}分")
def show_avg():
if not students:
print("还没有数据,先录入吧")
return
avg = sum(s["成绩"] for s in students) / len(students)
print(f"全班平均分:{avg:.1f}")
def show_best():
if not students:
print("还没有数据,先录入吧")
return
best = max(students, key=lambda x: x["成绩"])
print(f"最高分:{best['姓名']} {best['成绩']}分")
while True:
print("\n1.录入成绩 2.查看全部 3.平均分 4.最高分 0.退出")
choice = input("请选择:")
if choice == "1":
add_student()
elif choice == "2":
show_all()
elif choice == "3":
show_avg()
elif choice == "4":
show_best()
elif choice == "0":
print("再见!")
break
else:
print("没有这个选项,重选一下")
💡 代码解读:①if not students是"列表是空的吗"的 Python 式写法,空列表算"假";② 每个函数开头都先判空,避免"没数据就求平均分"这种尴尬;③ 主循环是while True+break的经典菜单套路,背下来。
亲手把它敲进在线 Python 工具跑一遍,录几个成绩试试——这是你第一个"像模像样"的程序!
四、十一课知识地图

| 课 | 标题 | 一句话 |
|---|---|---|
| 第一课 | 认识 Python | 知道它是什么、能干什么 |
| 第二课 | 下载与安装 | 把环境装到自己电脑上 |
| 第三课 | 变量和数据类型 | 数据的"盒子"和"种类" |
| 第四课 | 输入与输出 | 程序和人说话 |
| 第五课 | 运算符与表达式 | 让程序算起来 |
| 第六课 | 条件分支 | 看情况办事 |
| 第七课 | 循环 | 重复的活交给电脑 |
| 第八课 | 列表与元组 | 一堆数据一个名字管 |
| 第九课 | 字典与集合 | 按键找值、自动去重 |
| 第十课 | 函数 | 给代码起名字,随叫随到 |
| 第十一课 | 综合实战 | 拼出第一个完整程序 |
五、学完之后去哪
- 刷题巩固:本站"学考专区"有 200 道理论题和随机测试,检验基础;
- 做小项目:给小管家加功能——按成绩排序、保存到文件、统计各分数段人数;
- 继续深入:文件读写、异常处理、面向对象、爬虫、数据分析,每一个都是新世界的大门;
- 书籍推荐:第一课推荐的《Python编程:从入门到实践》后半部分,正好衔接。
🎉 十一课全部完成!从"Python 是什么"到亲手做出成绩小管家,你已经是一名真正的 Python 初级程序员了。编程是门手艺——继续写、继续做,下一座高峰见!
More
学·教在线
小ta