📖 学员手册
代码讲解已合并到高亮预览的代码注释里
⚡ 城市能源系统 · 电力调度中心 · 学员手册
第二季:文明进化计划 · 第2课(总第十课) | 70-80 分钟 | 城市能源系统 | +240 EXP | ⚡
| 你将学会 | 你将完成 |
|---|---|
| 嵌套字典 | 保存城区、发电厂、环保设施数据 |
.items() | 同时遍历名称和内部数据 |
.values() + sum() | 汇总城市总需求和总供给 |
函数 return | 返回供需差、状态、建议 |
sorted() + lambda | 按优先级生成调度顺序 |
状态字段 online | 模拟发电厂或环保设施故障 |
| 环保评分 | 同时考虑污染和处理能力 |
一、剧情
身份认证系统上线后,文明城市终于有了核心入口。但城市要真正运行,必须稳定供电。
本课目标:做一套能管理太阳能、风力、水力、垃圾分类发电、核能、污水处理和空气净化的城市能源控制中心。
二、核心代码速记
python
districts = {
'医院区': {'need': 180, 'priority': 1, 'can_reduce': 0},
'工厂区': {'need': 260, 'priority': 4, 'can_reduce': 120},
}
plants = {
'水力发电厂': {'power': 220, 'online': True, 'pollution': 3},
'垃圾分类发电厂': {'power': 140, 'online': True, 'pollution': 22},
'核能发电厂': {'power': 500, 'online': True, 'pollution': 6},
}
total_need = sum(info['need'] for info in districts.values())
ordered = sorted(districts.items(), key=lambda item: item[1]['priority'])记忆口诀:先建数据,再做汇总;先看缺口,再排优先级;故障来了,报告说话。
三、6 关挑战
- 城市设施数据:理解城区、发电厂、环保设施的嵌套字典。
- 遍历设施网络:用
.items()拿到名称和信息。 - 汇总供需与环保:用
sum()计算总需求、总供给和环保评分。 - 能源分析函数:用
return返回 gap、status、advice。 - 故障与排序:修改
FAULT_STATION,观察水电、核能、垃圾发电或污水处理故障。 - 发布能源控制中心:生成能源与环保完整报告和 turtle 面板。
四、可修改参数
| 想改什么 | 改哪里 |
|---|---|
| 低电量预警阈值 | LOW_POWER_GAP |
| 故障设施 | FAULT_STATION |
| 城区用电量 | districts 里的 need |
| 城区优先级 | districts 里的 priority |
| 可限电量 | districts 里的 can_reduce |
| 发电厂供电量 | plants 里的 power |
| 发电厂污染值 | plants 里的 pollution |
| 环保设施耗电 | city_facilities 里的 power_need |
| 环保处理能力 | city_facilities 里的 treatment |
五、课后作业
把城市能源系统改成自己的版本:新增一个城区,新增一个发电厂或环保设施,模拟一次故障,截图最终能源与环保报告。
Ctrl+/ 注释 · ▶ 运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
点击 ▶ 运行或按 Ctrl+Enter
预览区(HTML / turtle 输出)
📋 任务卡
1城市设施数据
用嵌套字典保存城区、发电厂和环保设施的数据。
💡运行后输入 1+10 XP
2遍历设施网络
用 items() 遍历城区、发电厂、垃圾分类中心和排污处理设施。
💡运行后输入 2+10 XP
3汇总供需与环保
用 sum() 汇总总需求、总供给和环保评分。
💡运行后输入 3+10 XP
4能源分析函数
用函数 return 返回供需差、状态和建议。
💡运行后输入 4+10 XP
5故障与排序
用 online 模拟水电、核能、垃圾发电或污水处理故障。
💡运行后输入 5,可修改 FAULT_STATION+10 XP
6发布能源控制中心
整合多能源、环保设施、故障预警、优先级调度和 turtle 面板,生成能源报告。
💡运行后输入 6+10 XP
🎁 完成全部 +30 XP
加载中
▶▼ 🧩 扩展
📦numpy
📦matplotlib
📦pillow
📦requests
📦sympy
📦pandas
📦scipy
📦beautifulsoup4
📦pygame
📦flask
📦opencv-python
📦nltk
📦sqlalchemy
📦plotly