Skill: PPT转MD学习文档生成流程
读取所有章节PPT同步版文档按章节顺序合并为一个总文档添加目录、章节标题等结构。
·
Skill: PPT转MD学习文档生成流程
技能概述
这个skill用于将PPT格式的教学内容转换为详细的、带有保姆级讲解的Markdown学习文档。生成的文档包含逐行代码解释、ASCII流程图、内存示意图、生活类比、运行结果分析等内容。
输入要求
用户需要提供:
- PPT同步版文档:包含原始教学内容的Markdown文件(格式:
第X章_PPT同步版.md) - 源文档(可选):包含完整PPT内容的参考文档
输出规格
文件命名
- 合并后的总文件:
Python—总.md(或根据学科命名,如XXX—总.md) - 单章节文件保持原名不变
文档结构
# XXX学习文档(总)
**教材**:《教材名称》
**编著者**:作者信息
---
## 目录
- [第1章 章节名称](#第1章-章节名称)
- ...
---
# 第1章 章节名称
## 本章要点
- 要点1
- 要点2
- ...
---
## 1.1 小节标题
### 1.1.1 知识点标题
知识点讲解内容...
#### 【深度讲解】知识点名称
详细讲解内容...
**【例X.Y】例题标题**
```语言
代码内容
【保姆级讲解】例X.Y 例题标题
一、【逐行代码详解】表格
行号 代码 含义说明 … … … 二、执行流程图
ASCII格式流程图三、运行结果分析
运行结果说明…
四、生活类比
生活化比喻…
五、常见误区提醒
误区 正确理解 … …
---
## 核心要求:例题五项完整内容
每个代码例题(格式为"例X.Y")必须包含以下5项完整内容:
### 一、逐行代码详解表格
**格式要求**:
```markdown
| 行号 | 代码 | 含义说明 |
|:-----|:-----|:---------|
| 1 | `代码内容` | 解释说明 |
| 2 | `代码内容` | 解释说明 |
等效标题格式(以下都算作第一项):
- 【逐行代码详解】
- 【保姆级讲解】
- 【详细解释】
- 【深度讲解】
- 【保姆级代码讲解】
二、执行流程图(ASCII格式)
格式要求:
- 必须使用ASCII字符绘制的流程图
- 使用
┌ ┐ └ ┘ │ ├ ┤ ┬ ┴ ┼ ─ ▼ ▲等字符 - 包含开始、结束、判断、处理等基本流程元素
示例:
┌──────────────┐
│ 开始 │
└──────┬───────┘
│
▼
┌──────────────┐
│ 处理步骤 │
└──────┬───────┘
│
▼
┌──────────────┐
│ 结束 │
└──────────────┘
等效标题格式:
- 执行流程图
- 程序流程图
- 流程图
- 执行过程图
三、运行结果分析
格式要求:
- 说明程序的输出结果
- 分析结果产生的原因
- 可以使用表格或文字描述
示例:
**运行结果**:
输出内容
**分析**:
- 结果1说明
- 结果2说明
四、生活类比
格式要求:
- 用日常生活中的事物比喻代码概念
- 帮助初学者理解抽象概念
- 必须有实质性内容,不能只是空标题
示例:
**【生活类比】变量就像"储物柜"**
想象变量是一个储物柜:
- **变量名** = 柜子上的编号标签
- **变量值** = 柜子里存放的物品
- **赋值操作** = 把物品放入柜子
当你写 `a = 10`,就像把数字10放入编号为a的柜子里。
五、常见误区提醒
格式要求:
- 使用表格形式列出常见错误
- 每个误区配以正确理解
示例:
**【常见误区提醒】**
| 误区 | 正确理解 |
|:-----|:---------|
| 认为变量存储的是值 | 变量存储的是对对象的引用 |
| 认为a=b会复制对象 | a=b只是让a指向b指向的同一个对象 |
特殊情况处理
非代码类例题
以下类型的例题格式可以有所不同,但应包含实质性的讲解内容:
- IPO描述类例题:包含IPO表格、案例分析、生活类比、常见误区提醒
- 算法自然语言描述类例题:包含算法步骤、流程图、生活类比
- 伪代码描述类例题:包含伪代码、详细讲解、生活类比
- 安装配置类例题:包含操作步骤、注意事项、常见问题
判断标准
- 如果例题包含可执行的代码,则必须包含完整的5项内容
- 如果例题是概念描述或操作说明,则根据内容类型灵活处理,但应保证讲解的完整性和易懂性
核心流程:五轮制验证
五轮制规则
核心原则:连续检查五轮,在期间只要发现一次内容有疏漏,就进行补充,然后从该轮回到第一轮,直到连续五轮都没发现内容有疏漏,才结束。
验证流程图
┌─────────────────────────────────────────────────────────────────┐
│ 五轮制验证流程 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ │
│ │ 开始验证 │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ 第一轮检查 │ │
│ └──────┬───────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ │ │
│ 有问题 无问题 │
│ │ │ │
│ ▼ ▼ │
│ ┌────────┐ ┌──────────────┐ │
│ │修复问题│ │ 第二轮检查 │ │
│ └───┬────┘ └──────┬───────┘ │
│ │ │ │
│ │ ┌────┴────┐ │
│ │ │ │ │
│ │ 有问题 无问题 │
│ │ │ │ │
│ │ ▼ ▼ │
│ │ ┌────────┐ ┌──────────────┐ │
│ │ │修复问题│ │ 第三轮检查 │ │
│ │ └───┬────┘ └──────┬───────┘ │
│ │ │ │ │
│ │ │ ┌────┴────┐ │
│ │ │ │ │ │
│ │ │ 有问题 无问题 │
│ │ │ │ │ │
│ │ │ ▼ ▼ │
│ │ │ ┌────────┐ ┌──────────────┐ │
│ │ │ │修复问题│ │ 第四轮检查 │ │
│ │ │ └───┬────┘ └──────┬───────┘ │
│ │ │ │ │ │
│ │ │ │ ┌────┴────┐ │
│ │ │ │ │ │ │
│ │ │ │ 有问题 无问题 │
│ │ │ │ │ │ │
│ │ │ │ ▼ ▼ │
│ │ │ │ ┌────────┐ ┌──────────────┐ │
│ │ │ │ │修复问题│ │ 第五轮检查 │ │
│ │ │ │ └───┬────┘ └──────┬───────┘ │
│ │ │ │ │ │ │
│ │ │ │ │ ┌────┴────┐ │
│ │ │ │ │ │ │ │
│ │ │ │ │ 有问题 无问题 │
│ │ │ │ │ │ │ │
│ │ │ │ │ ▼ ▼ │
│ │ │ │ │ ┌────────┐ ┌──────────────┐ │
│ │ │ │ │ │修复问题│ │ 验证完成 │ │
│ │ │ │ │ └───┬────┘ └──────────────┘ │
│ │ │ │ │ │ │
│ └────────┴────────┴────────┴────────┘ │
│ │ │
│ └──────────────────────────────────┐ │
│ │ │
│ ▼ │
│ 回到第一轮 │
│ │
└─────────────────────────────────────────────────────────────────┘
五轮制伪代码
def 五轮制验证(文档):
通过轮数 = 0
while 通过轮数 < 5:
问题列表 = 检查所有例题(文档)
if 问题列表为空:
通过轮数 += 1
print(f"第{通过轮数}轮检查通过")
else:
for 问题 in 问题列表:
修复问题(文档, 问题)
通过轮数 = 0 # 重置计数器,回到第一轮
print("发现问题,已修复,重新从第一轮开始")
print("五轮连续检查全部通过,验证完成")
检查要点
每轮检查需要验证的内容:
- 例题完整性:每个例题是否包含5项内容
- 内容实质性:每项内容是否有实际内容,不是空标题
- 格式正确性:流程图是否为ASCII格式,表格是否正确
- 内容准确性:讲解内容是否正确,类比是否恰当
检查方法
- 逐章检查:按章节顺序检查所有例题
- 逐项核对:对每个例题核对5项内容是否存在
- 内容验证:验证内容是否有实质性的讲解,不是占位符
- 格式验证:验证流程图是否为ASCII格式
工作流程总结
第一阶段:文档合并
- 读取所有章节PPT同步版文档
- 按章节顺序合并为一个总文档
- 添加目录、章节标题等结构
第二阶段:内容增强
-
为每个例题添加5项完整内容:
- 逐行代码详解表格
- 执行流程图(ASCII格式)
- 运行结果分析
- 生活类比
- 常见误区提醒
-
为知识点添加深度讲解
-
添加ASCII艺术图解辅助理解
第三阶段:五轮制验证
- 执行五轮制验证流程
- 发现问题立即修复并重置计数器
- 连续五轮通过后结束验证
第四阶段:清理工作
- 删除中间过程产生的临时文件
- 删除备份文件
- 删除补充讲解文件
- 只保留最终的总文档和原始PPT同步版文档
文件清理清单
验证完成后应删除的文件类型:
| 文件类型 | 示例 | 说明 |
|---|---|---|
| 临时文件 | temp_*.md | 合并过程中产生的临时文件 |
| 备份文件 | *_backup.md | 自动或手动创建的备份 |
| 补充文件 | 补充讲解.md | 中间过程产生的补充文件 |
| 工具文件 | skill说明文件 | 生成文档的工具说明 |
保留的文件:
- 各章节PPT同步版文档(原始文件)
- 最终的总文档(主要成果)
注意事项
- 不要误判:检查时要注意多种等效格式,如【保姆级讲解】和【逐行代码详解】都算作第一项
- 不要遗漏:每个例题都要检查,不能只检查部分
- 不要跳过:五轮制必须严格执行,不能因为某轮通过就跳过后续轮次
- 保持耐心:五轮制可能需要多次循环,要有耐心完成全部验证
质量标准
最终文档应达到以下标准:
- 完整性:所有例题都有完整的5项内容
- 准确性:代码讲解正确,类比恰当
- 可读性:格式统一,排版清晰
- 易学性:初学者能够理解,有足够的生活类比和误区提醒
- 美观性:ASCII图解美观,表格整齐
示例输出
完整例题示例
**【例2.10】交换两个变量的示例以及相应的对象内存示意图**
```python
>>> a=123 #a指向值为123的int型实例对象
>>> b=456 #b指向值为456的int型实例对象
>>> t=a #变量t和a一样,指向(引用)对象实例123
>>> a=b #变量a和b一样,指向(引用)对象实例456
>>> b=t #变量b和t一样,指向(引用)对象实例123
【逐行代码详解】
| 行号 | 语句 | 执行过程 | 内存状态变化 |
|---|---|---|---|
| 1 | a = 123 |
创建int对象123,变量a绑定到该对象 | a → [123] |
| 2 | b = 456 |
创建int对象456,变量b绑定到该对象 | a → [123], b → [456] |
| 3 | t = a |
变量t绑定到a所指向的对象(123) | a → [123] ← t, b → [456] |
| 4 | a = b |
变量a重新绑定到b所指向的对象(456) | t → [123], b → [456] ← a |
| 5 | b = t |
变量b重新绑定到t所指向的对象(123) | t → [123] ← b, a → [456] |
【执行流程图】
┌─────────────────────────────────────────────────────────────────┐
│ 例2.10 变量交换执行流程 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ │
│ │ 开始 │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ a = 123 │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ b = 456 │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ t = a │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ a = b │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ b = t │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ 结束 │ │
│ │ a=456, b=123 │ │
│ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
【运行结果分析】
| 交换方式 | 代码行数 | 需要临时变量 | 执行效率 |
|---|---|---|---|
| 传统方式 | 3行 | 是(变量t) | 较慢 |
| Python方式 | 1行 | 否 | 较快 |
运行结果:
- 执行前:a = 123, b = 456
- 执行后:a = 456, b = 123
【生活类比】交换座位
想象两个人要交换座位:
- 传统方式:需要第三个人(临时变量t)先坐到一个座位上,空出位置让别人坐
- Python方式:两个人同时站起来,在空中"互换"位置,然后同时坐下
【常见误区提醒】
| 误区 | 正确理解 |
|---|---|
认为 a, b = b, a 是同时赋值 |
实际是先创建元组,再解包赋值,但对用户来说效果是"同时"的 |
| 认为交换需要很多临时内存 | Python的元组创建和解包非常高效,不需要担心性能 |
| 在其他语言中使用这种方式 | a, b = b, a 是Python特有语法,其他语言需要用临时变量 |
---
## 版本信息
- **创建日期**:2026年5月
- **适用场景**:PPT课件转Markdown学习文档
- **核心方法**:五轮制验证
- **质量保证**:连续五轮检查通过
更多推荐




所有评论(0)