Skip to content
第 12 课 / 共 12 课

第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        # 项目说明
想了解更多?

好的代码有三个标准:

  1. 能运行——这是最基本的要求
  2. 能读懂——别人(包括未来的你)能看懂代码在做什么
  3. 好修改——想加新功能或改 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 等)
   - 作者信息

展示你的作品!

完成后,你可以:

  1. 截图保存 —— 把运行效果截图,发到班级群里
  2. 分享代码 —— 把项目文件夹打包,发给感兴趣的同学
  3. 投稿到作品墙 —— 到我们课程的 作品展示 页面提交你的作品
  4. 发布到 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 游戏
移动 AppFlutter、React Native做手机 App

最后的话

编程最重要的不是记住语法,而是学会解决问题的思维方式。遇到问题时,你已经知道怎么做了:把大问题拆成小问题,一步一步解决,遇到不会的就问 Claude Code。

这种能力不只在编程中有用——它会帮助你解决生活中的各种挑战。

祝你在编程的世界里玩得开心!🚀

参考示例

本课的"智能日记本"示例代码可以在这里查看:smart-diary.py

下载后在终端运行:

bash
python smart-diary.py

留言讨论