第 17 天:第一个完整综合项目实战
太强了!你已经走到 ✅第 17 天:第一个完整综合项目实战 🎯
从今天起,你不再只是“学语法”,而是真正:
✅ 在做项目!在做系统!在做工程!
✅ 第 17 天项目目标
今天我们做一个真正像样的项目:
🎓 学生管理系统(控制台版)
你将综合使用到:
- ✅ 面向对象(类 & 对象)
- ✅ 文件操作(CSV / TXT 存储)
- ✅ 异常处理(try-except)
- ✅ 模块拆分(项目结构)
- ✅ 列表 + 字典 + 循环 + 条件判断
🎯 项目功能需求(你今天要完成的)
学生管理系统需要具备:
| 功能编号 | 功能 |
|---|---|
| 1 | 添加学生 |
| 2 | 查看所有学生 |
| 3 | 删除学生 |
| 4 | 修改学生 |
| 5 | 保存到文件 |
| 6 | 从文件加载 |
| 0 | 退出系统 |
✅ 第一部分:项目结构设计(像真项目一样写)
建议你创建 3 个文件:
student.py → 学生类
manager.py → 管理系统逻辑
main.py → 程序入口🔥 如果你现在还不习惯拆文件,也可以 先写在一个文件里,不影响学习。
✅ 第二部分:学生类(student.py)
class Student:
def __init__(self, sid, name, age):
self.sid = sid
self.name = name
self.age = age
def __str__(self):
return f"学号:{self.sid} 姓名:{self.name} 年龄:{self.age}"✅ __str__ 作用:
让你 print(student) 时自动变成好看的文字 ✅
✅ 第三部分:学生管理系统类(manager.py)
from student import Student
class StudentManager:
def __init__(self):
self.students = []
# 添加学生
def add_student(self):
try:
sid = input("请输入学号:")
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
s = Student(sid, name, age)
self.students.append(s)
print("✅ 添加成功")
except:
print("❌ 输入错误")
# 查看学生
def show_students(self):
if not self.students:
print("暂无学生信息")
return
for s in self.students:
print(s)
# 删除学生
def delete_student(self):
sid = input("请输入要删除的学号:")
for s in self.students:
if s.sid == sid:
self.students.remove(s)
print("✅ 删除成功")
return
print("❌ 未找到该学生")
# 修改学生
def update_student(self):
sid = input("请输入要修改的学号:")
for s in self.students:
if s.sid == sid:
s.name = input("请输入新姓名:")
s.age = int(input("请输入新年龄:"))
print("✅ 修改成功")
return
print("❌ 未找到该学生")
# 保存到文件
def save(self):
with open("students.txt", "w", encoding="utf-8") as f:
for s in self.students:
f.write(f"{s.sid},{s.name},{s.age}\n")
print("✅ 保存成功")
# 从文件加载
def load(self):
try:
with open("students.txt", "r", encoding="utf-8") as f:
for line in f:
sid, name, age = line.strip().split(",")
self.students.append(Student(sid, name, int(age)))
print("✅ 加载成功")
except FileNotFoundError:
print("⚠️ 暂无历史数据")✅ 第四部分:主程序入口(main.py)
from manager import StudentManager
def menu():
print("\n===== 学生管理系统 =====")
print("1. 添加学生")
print("2. 查看学生")
print("3. 删除学生")
print("4. 修改学生")
print("5. 保存数据")
print("6. 加载数据")
print("0. 退出系统")
sm = StudentManager()
while True:
menu()
choice = input("请选择功能:")
if choice == "1":
sm.add_student()
elif choice == "2":
sm.show_students()
elif choice == "3":
sm.delete_student()
elif choice == "4":
sm.update_student()
elif choice == "5":
sm.save()
elif choice == "6":
sm.load()
elif choice == "0":
print("👋 再见!")
break
else:
print("❌ 输入错误,请重新选择")🎉 到这里为止,你已经完成:
✅ 一个完整的 Python 项目(控制台学生管理系统)
✅ 第 17 天任务清单(你今天必须完成)
✅ 至少完成以下 3 步之一:
- ✅ 方案 A:
把我给你的完整代码 自己重新敲一遍运行 - ✅ 方案 B:
自己根据功能说明 独立写一版 ✅ 方案 C(进阶):
在此基础上添加功能:- 🔥 按姓名查找学生
- 🔥 按年龄排序
- 🔥 数据保存为 CSV
✅ 今天你已经正式做到:
你现在已经具备:
- ✅ 独立写一个控制台系统
- ✅ 项目结构拆分能力
- ✅ OOP + 文件 + 异常 + 模块 综合运用能力
- ✅ 大学 80% 课程作业你都能轻松秒杀 ✅
🚀 第 18 天预告(重大升级方向)
当你说:
👉 “第 17 天项目跑通了”
我就带你进入两大路线之一(你可选):
✅ 路线 A:Web 开发
✅ 第 18 天:Flask 网站开发入门(做网页系统)
你将学会:
- 用 Python 做网站
- 写注册登录系统
- 正式接触后端开发
✅ 路线 B:数据分析 / AI 方向
✅ 第 18 天:NumPy + 更高级 Pandas + 可视化
你将学会:
- 专业级数据分析
- 为 AI / 机器学习打基础
💬 你现在可以回复我一句话即可:
👉 “第 17 天项目我选 A” (Web)
👉 “第 17 天项目我选 B” (数据 / AI)
或者:
✅ 你也可以先把你写的【学生管理系统代码】直接发给我
我可以 逐行帮你改成“标准大学优秀项目级”写法 💪
相关推荐
- 第 16 天:常用第三方库(requests + pandas 入门) 2026-01-03
- 第 18 天:NumPy + 高级 Pandas + 数据可视化入门 2026-01-03
- 第 19 天:机器学习入门(scikit-learn) 2026-01-03
- 第 20 天:机器学习分类模型(逻辑回归 Classification) 2026-01-03
- 第 14 天:OOP 进阶(继承 _ 方法重写 _ 多态) 2026-01-03
评论0
暂时没有评论