主题
第12课:毕业设计 —— 做一个完整的作品
🎓 恭喜你走到了最后一课!今天你要独立完成一个完整的项目——这将是你最值得骄傲的作品!
⏱️ 预计用时:60-90 分钟
学习目标
学完这节课,你将会:
- 学会项目规划——从想法到成品的完整流程
- 掌握代码组织——把代码写得清晰整洁
- 学会写 README——让别人能看懂你的项目
- 独立完成一个有前后端的完整作品
从"写代码"到"做项目"
你已经学了 11 课,掌握了 HTML、CSS、JavaScript 和 Python。但今天要学的不是新技术,而是一个更重要的东西——怎样把一个想法变成一个完整的作品。
这就是从"能写代码"到"能做项目"的进化。
项目开发四步法
专业的开发者做项目都遵循一个流程:
💡 构思 📐 设计 🔨 实现 ✨ 打磨
↓ ↓ ↓ ↓
想做什么? 怎么做? 动手做! 做得更好!
解决什么问题? 需要哪些功能? 先做核心功能 修bug、优化体验
谁来用? 用什么技术? 再加附加功能 写文档、准备分享还记得第4课学的"渐进式开发"吗?这里也是一样的道理——但这次我们关注的是更大的视野。
小贴士
构思和设计阶段花的时间越多,实现阶段就越顺利。很多新手一上来就写代码,结果写了一半发现方向不对,反而浪费了更多时间。"磨刀不误砍柴工"在编程里也适用!
代码组织:让代码像文章一样清晰
随着项目变大,代码组织变得很重要。就像写作文需要分段、加标题一样,代码也需要结构。
Python 中的函数
函数就像代码的"段落"——把一件事情打包成一个独立的块:
python
# 不好:一大坨代码混在一起
name = input("请输入姓名:")
scores = [85, 92, 78]
total = sum(scores)
average = total / len(scores)
print(f"{name}的平均分是{average}")
html = f"<h1>{name}的成绩报告</h1>"
# ...继续写200行...
# 好:用函数分成清晰的步骤
def get_student_info():
"""获取学生信息"""
name = input("请输入姓名:")
return name
def analyze_scores(scores):
"""分析成绩"""
return {
"平均分": sum(scores) / len(scores),
"最高分": max(scores),
"最低分": min(scores)
}
def generate_report(name, analysis):
"""生成 HTML 报告"""
# ...文件组织
当项目有多个文件时,按功能分开放:
my-project/
├── main.py # 主程序,程序入口
├── data.py # 数据处理相关
├── report.py # 报告生成相关
├── templates/ # HTML 模板文件
│ └── index.html
├── data/ # 数据文件
│ └── sample.json
└── README.md # 项目说明想了解更多?
好的代码有三个标准:
- 能运行——这是最基本的要求
- 能读懂——别人(包括未来的你)能看懂代码在做什么
- 好修改——想加新功能或改 bug 时不需要大改
写出"能运行"的代码只是第一步,写出"能读懂"和"好修改"的代码才是编程高手的标志。好消息是,Claude Code 会帮你写出组织良好的代码——你只需要理解它为什么这样组织就行。
README:项目的"自我介绍"
每个好项目都有一个 README.md 文件——它就像项目的"自我介绍",告诉别人这个项目是什么、怎么用。
一个好的 README 包含:
markdown
# 项目名称
一句话描述:这个项目做什么的。
## 功能
- 功能1:xxx
- 功能2:xxx
## 怎么运行
1. 安装 Python 3
2. 运行 `python main.py`
## 截图
(放一张运行效果的截图)
## 作者
你的名字 - 2026年小贴士
GitHub 上的每个开源项目都有 README。你安装 Claude Code 时,它的安装说明就是写在 README 里的。学会写好 README,你就能让自己的作品被更多人看到和使用!
动手时间:选择你的毕业项目!
以下有三个选题,选一个你最感兴趣的来做。每个选题都会用到你学过的 Python + HTML 技术。
选题一:智能日记本
一个可以记录每天心情和日记的应用,还能分析你的情绪变化趋势。
魔法咒语
帮我用 Python 做一个"智能日记本"应用,要求:
【后端 Python 部分】main.py:
1. 用 http.server 做一个简单的网页服务器
2. 功能接口:
- 写日记:保存日期、内容、心情(开心/平静/难过/生气/兴奋)
- 查看日记:按日期读取日记
- 情绪分析:统计各种心情的次数,找出最常见的情绪
- 生成周报:总结一周的情绪变化趋势
3. 日记数据保存在 diary.json 文件里
4. 简单的情绪分析:根据心情标签统计,并扫描日记内容中的关键词
【前端 HTML 部分】index.html:
1. 三个页面(用标签页切换):
- "写日记"页:日期选择、心情选择(用 emoji 按钮)、文本输入框
- "我的日记"页:日记列表,每篇有日期、心情图标、内容预览
- "心情统计"页:用 Chart.js 画情绪分布饼图和趋势折线图
2. 现代简洁的设计风格:柔和的渐变背景、圆角卡片
3. 适配手机屏幕
4. 每种心情用不同的 emoji 和颜色表示选题二:班级小工具箱
把多个实用小工具合并到一个网页里,方便同学们使用。
魔法咒语
帮我用 Python 做一个"班级小工具箱"应用,要求:
【后端 Python 部分】main.py:
1. 用 http.server 做网页服务器
2. 功能接口:
- 随机抽签/分组:输入名单,随机抽取或分组
- 倒计时:设置考试倒计时,保存到文件
- 成绩统计:输入一组成绩,计算平均分、最高分、排名分布
- 座位表生成:输入行列数和名单,随机生成座位表
3. 数据保存在 JSON 文件里
【前端 HTML 部分】index.html:
1. 工具箱首页:网格布局展示所有工具(每个工具一个卡片,有图标和名字)
2. 每个工具一个面板(点击卡片展开):
- 抽签工具:输入名单文本框 + "抽取"按钮 + 动画效果展示结果
- 分组工具:输入名单 + 选择组数 + 显示分组结果
- 倒计时:选择日期 + 设置名称 + 大字显示剩余天数
- 成绩统计:输入成绩 + Chart.js 图表展示分布
- 座位表:输入行列 + 名单 + 可视化座位表格
3. 彩色活泼的设计风格(适合校园场景)
4. 每个工具有自己的主题色选题三:自选项目
如果你有自己特别想做的东西,这是最好的选择!
魔法咒语
帮我用 Python + HTML 做一个 [你的项目想法],要求:
【基本要求】
1. 有 Python 后端(http.server)
2. 有 HTML 前端界面
3. 前后端通过 API 通信
4. 数据保存在文件里(JSON 格式)
5. 界面美观、适配手机
6. 代码有清晰的注释
【我想要的功能】
1. [功能1]
2. [功能2]
3. [功能3]
...
【设计风格】
[描述你想要的风格,比如:简约、可爱、科技感...]一些自选项目的灵感:
- 单词记忆卡 —— 英语单词闪卡 + 记忆曲线复习提醒
- 课堂笔记管理器 —— 按科目分类、支持搜索的笔记系统
- 习惯打卡器 —— 每天打卡记录好习惯,统计连续天数
- 小说阅读器 —— 导入 TXT 文件,分章节阅读,记住阅读位置
- 密码生成器 —— 自定义规则生成随机密码,一键复制
项目完善清单
不管你选了哪个选题,完成基本功能后,用这个清单来打磨你的作品:
魔法咒语
帮我检查和完善项目:
1. 代码整理:
- 确保有清晰的代码注释
- 函数和变量命名有意义
- 删除调试用的 print 语句
2. 错误处理:
- 处理用户输入为空的情况
- 处理文件不存在的情况
- 加载数据失败时的提示
3. 用户体验:
- 操作成功/失败要有提示
- 加载数据时显示加载状态
- 手机上也能正常使用
4. 生成 README.md 文件,包含:
- 项目名称和一句话介绍
- 功能列表
- 运行方法
- 技术栈(Python + HTML + Chart.js 等)
- 作者信息展示你的作品!
完成后,你可以:
- 截图保存 —— 把运行效果截图,发到班级群里
- 分享代码 —— 把项目文件夹打包,发给感兴趣的同学
- 投稿到作品墙 —— 到我们课程的 作品展示 页面提交你的作品
- 发布到 GitHub —— 如果你在第7课学了 GitHub,可以把项目上传到 GitHub
小贴士
不管你的作品是简单还是复杂,都值得骄傲!每一个程序员都是从一个简单的项目开始的。你的这个毕业作品,就是你编程之路的一个重要里程碑!
今天学了什么?
| 概念 | 说明 |
|---|---|
| 项目规划 | 构思→设计→实现→打磨,先想清楚再动手 |
| 函数 | 把代码按功能分成独立的块,让代码更清晰 |
| 文件组织 | 不同功能的代码放在不同文件里 |
| README | 项目的"自我介绍",说明项目是什么和怎么用 |
| 全栈开发 | 前端(HTML界面)+ 后端(Python服务器)的完整应用 |
1. 项目开发的正确顺序是什么?
2. 把代码分成多个函数的最大好处是什么?
3. README.md 文件的作用是什么?
4. 在我们的毕业项目中,「全栈」是指什么?
你的编程之旅才刚刚开始!
恭喜你完成了全部 12 节课!让我们回顾一下你学了多少东西:
入门篇(第1-7课)
- 认识了 AI 和 Claude Code
- 学会了 HTML、CSS、JavaScript
- 做了网页、小工具、游戏、作品集
进阶篇(第8-12课)
- 学会了 Python
- 掌握了数据处理和文件操作
- 学会了数据可视化
- 做了聊天机器人
- 完成了一个全栈毕业项目
你已经不是一个编程新手了,你是一个有 12 节课实战经验的开发者!
接下来可以探索的方向
| 方向 | 学什么 | 能做什么 |
|---|---|---|
| Web 开发 | React、Vue、Node.js | 做更复杂的网站和 Web 应用 |
| Python 进阶 | Django、Flask、爬虫 | 做网站后端、自动化工具 |
| AI / 机器学习 | TensorFlow、PyTorch | 训练自己的 AI 模型 |
| 游戏开发 | Unity、Godot、Pygame | 做 2D/3D 游戏 |
| 移动 App | Flutter、React Native | 做手机 App |
最后的话
编程最重要的不是记住语法,而是学会解决问题的思维方式。遇到问题时,你已经知道怎么做了:把大问题拆成小问题,一步一步解决,遇到不会的就问 Claude Code。
这种能力不只在编程中有用——它会帮助你解决生活中的各种挑战。
祝你在编程的世界里玩得开心!🚀
参考示例
本课的"智能日记本"示例代码可以在这里查看:smart-diary.py
下载后在终端运行:
bash
python smart-diary.py
留言讨论