Skill: PPT转MD学习文档生成流程

技能概述

这个skill用于将PPT格式的教学内容转换为详细的、带有保姆级讲解的Markdown学习文档。生成的文档包含逐行代码解释、ASCII流程图、内存示意图、生活类比、运行结果分析等内容。


输入要求

用户需要提供:

  1. PPT同步版文档:包含原始教学内容的Markdown文件(格式:第X章_PPT同步版.md
  2. 源文档(可选):包含完整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指向的同一个对象 |

特殊情况处理

非代码类例题

以下类型的例题格式可以有所不同,但应包含实质性的讲解内容:

  1. IPO描述类例题:包含IPO表格、案例分析、生活类比、常见误区提醒
  2. 算法自然语言描述类例题:包含算法步骤、流程图、生活类比
  3. 伪代码描述类例题:包含伪代码、详细讲解、生活类比
  4. 安装配置类例题:包含操作步骤、注意事项、常见问题

判断标准

  • 如果例题包含可执行的代码,则必须包含完整的5项内容
  • 如果例题是概念描述或操作说明,则根据内容类型灵活处理,但应保证讲解的完整性和易懂性

核心流程:五轮制验证

五轮制规则

核心原则:连续检查五轮,在期间只要发现一次内容有疏漏,就进行补充,然后从该轮回到第一轮,直到连续五轮都没发现内容有疏漏,才结束。

验证流程图

┌─────────────────────────────────────────────────────────────────┐
│                        五轮制验证流程                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌──────────────┐                                              │
│   │   开始验证   │                                              │
│   └──────┬───────┘                                              │
│          │                                                      │
│          ▼                                                      │
│   ┌──────────────┐                                              │
│   │  第一轮检查  │                                              │
│   └──────┬───────┘                                              │
│          │                                                      │
│     ┌────┴────┐                                                 │
│     │         │                                                 │
│   有问题    无问题                                               │
│     │         │                                                 │
│     ▼         ▼                                                 │
│ ┌────────┐ ┌──────────────┐                                     │
│ │修复问题│ │  第二轮检查  │                                     │
│ └───┬────┘ └──────┬───────┘                                     │
│     │             │                                             │
│     │        ┌────┴────┐                                        │
│     │        │         │                                        │
│     │      有问题    无问题                                      │
│     │        │         │                                        │
│     │        ▼         ▼                                        │
│     │    ┌────────┐ ┌──────────────┐                            │
│     │    │修复问题│ │  第三轮检查  │                            │
│     │    └───┬────┘ └──────┬───────┘                            │
│     │        │             │                                    │
│     │        │        ┌────┴────┐                                │
│     │        │        │         │                                │
│     │        │      有问题    无问题                              │
│     │        │        │         │                                │
│     │        │        ▼         ▼                                │
│     │        │    ┌────────┐ ┌──────────────┐                    │
│     │        │    │修复问题│ │  第四轮检查  │                    │
│     │        │    └───┬────┘ └──────┬───────┘                    │
│     │        │        │             │                            │
│     │        │        │        ┌────┴────┐                        │
│     │        │        │        │         │                        │
│     │        │        │      有问题    无问题                      │
│     │        │        │        │         │                        │
│     │        │        │        ▼         ▼                        │
│     │        │        │    ┌────────┐ ┌──────────────┐            │
│     │        │        │    │修复问题│ │  第五轮检查  │            │
│     │        │        │    └───┬────┘ └──────┬───────┘            │
│     │        │        │        │             │                    │
│     │        │        │        │        ┌────┴────┐                │
│     │        │        │        │        │         │                │
│     │        │        │        │      有问题    无问题              │
│     │        │        │        │        │         │                │
│     │        │        │        │        ▼         ▼                │
│     │        │        │        │    ┌────────┐ ┌──────────────┐    │
│     │        │        │        │    │修复问题│ │  验证完成    │    │
│     │        │        │        │    └───┬────┘ └──────────────┘    │
│     │        │        │        │        │                         │
│     └────────┴────────┴────────┴────────┘                         │
│          │                                                        │
│          └──────────────────────────────────┐                     │
│                                               │                     │
│                                               ▼                     │
│                                        回到第一轮                   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

五轮制伪代码

def 五轮制验证(文档):
    通过轮数 = 0

    while 通过轮数 < 5:
        问题列表 = 检查所有例题(文档)

        if 问题列表为空:
            通过轮数 += 1
            print(f"第{通过轮数}轮检查通过")
        else:
            for 问题 in 问题列表:
                修复问题(文档, 问题)
            通过轮数 = 0  # 重置计数器,回到第一轮
            print("发现问题,已修复,重新从第一轮开始")

    print("五轮连续检查全部通过,验证完成")

检查要点

每轮检查需要验证的内容:

  1. 例题完整性:每个例题是否包含5项内容
  2. 内容实质性:每项内容是否有实际内容,不是空标题
  3. 格式正确性:流程图是否为ASCII格式,表格是否正确
  4. 内容准确性:讲解内容是否正确,类比是否恰当

检查方法

  1. 逐章检查:按章节顺序检查所有例题
  2. 逐项核对:对每个例题核对5项内容是否存在
  3. 内容验证:验证内容是否有实质性的讲解,不是占位符
  4. 格式验证:验证流程图是否为ASCII格式

工作流程总结

第一阶段:文档合并

  1. 读取所有章节PPT同步版文档
  2. 按章节顺序合并为一个总文档
  3. 添加目录、章节标题等结构

第二阶段:内容增强

  1. 为每个例题添加5项完整内容:

    • 逐行代码详解表格
    • 执行流程图(ASCII格式)
    • 运行结果分析
    • 生活类比
    • 常见误区提醒
  2. 为知识点添加深度讲解

  3. 添加ASCII艺术图解辅助理解

第三阶段:五轮制验证

  1. 执行五轮制验证流程
  2. 发现问题立即修复并重置计数器
  3. 连续五轮通过后结束验证

第四阶段:清理工作

  1. 删除中间过程产生的临时文件
  2. 删除备份文件
  3. 删除补充讲解文件
  4. 只保留最终的总文档和原始PPT同步版文档

文件清理清单

验证完成后应删除的文件类型:

文件类型 示例 说明
临时文件 temp_*.md 合并过程中产生的临时文件
备份文件 *_backup.md 自动或手动创建的备份
补充文件 补充讲解.md 中间过程产生的补充文件
工具文件 skill说明文件 生成文档的工具说明

保留的文件:

  • 各章节PPT同步版文档(原始文件)
  • 最终的总文档(主要成果)

注意事项

  1. 不要误判:检查时要注意多种等效格式,如【保姆级讲解】和【逐行代码详解】都算作第一项
  2. 不要遗漏:每个例题都要检查,不能只检查部分
  3. 不要跳过:五轮制必须严格执行,不能因为某轮通过就跳过后续轮次
  4. 保持耐心:五轮制可能需要多次循环,要有耐心完成全部验证

质量标准

最终文档应达到以下标准:

  1. 完整性:所有例题都有完整的5项内容
  2. 准确性:代码讲解正确,类比恰当
  3. 可读性:格式统一,排版清晰
  4. 易学性:初学者能够理解,有足够的生活类比和误区提醒
  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学习文档
- **核心方法**:五轮制验证
- **质量保证**:连续五轮检查通过

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐