《Python编程实战》简介:
《Python编程实战:妙趣横生的项目之旅》基于Python语言,通过项目展示Python的奇妙应用,适合Python初学者学习。在本书中,你将使用Python编程语言模拟探索火星、木星以及银河系遥远的地方,体验诗人的意境,了解高级的金融知识等。你还会学到各种各样的技术,如马尔可夫链分析技术、蒙特卡罗模拟、图像叠加技术、基因遗传算法等。与此同时,你还会学习一些模块的使用方法,例如pygame、Pylint、pydocstyle、Tkinter、python-docx、Matplotlib和pillow等。
《Python编程实战:妙趣横生的项目之旅》基于一些有趣的项目进行讲解,能够让读者在新奇的项目案例中体验学习Python的乐趣。此外,读者还能将自己所学的知识与实际的应用程序开发、数据库设计和解决实际问题联系起来,提升自己的项目实践能力。
《Python编程实战》目录:
第 1章 虚假姓名生成器 1
1.1 项目1:生成假名 1
1.1.1 项目规划与设计 1
1.1.2 策略 2
1.1.3 伪代码 2
1.1.4 代码 3
1.2 本章小结 11
1.3 延伸阅读 12
1.3.1 伪代码编写标准 12
1.3.2 编程规范 12
1.3.3 第三方模块 12
1.4 实践项目 12
1.4.1 儿童黑话 13
1.4.2 简单条形图 13
1.5 挑战项目 13
1.5.1 拉丁文简单条形图 14
1.5.2 中间名 14
1.5.3 挑战不同的项目 14
第 2章 寻找回文 15
2.1 寻找和加载字典文件 15
2.1.1 处理文件打开异常 16
2.1.2 加载字典文件 16
2.2 项目2:寻找回文单词 18
2.2.1 策略和伪代码 18
2.2.2 寻找回文单词的代码 19
2.3 项目3:寻找回文短语 20
2.3.1 策略和伪代码 20
2.3.2 寻找回文短语的代码 22
2.3.3 程序性能分析 24
2.4 本章小结 27
2.5 延伸阅读 27
2.6 实践项目:字典清理 27
2.7 挑战项目:用递归方法查找回文 27
第3章 寻找易位词 28
3.1 项目4:寻找单词的易位词 28
3.1.1 策略和伪代码 28
3.1.2 寻找易位词的代码 30
3.2 项目5:寻找易位短语 31
3.2.1 策略和伪代码 32
3.2.2 寻找易位短语的代码 35
3.3 项目6:寻找伏地魔(Voldemort)——高卢人策略 41
3.4 项目7:寻找伏地魔(Voldemort)——英式蛮力方式 43
3.4.1 策略 43
3.4.2 英式蛮力方式的代码 45
3.5 本章小结 52
3.6 延伸阅读 52
3.7 实践项目:寻找二元字母组 52
3.8 挑战项目:易位词自动生成器 52
第4章 破解美国内战密码 53
4.1 项目8:路由密码 53
4.1.1 策略 55
4.1.2 伪代码 57
4.1.3 解密路由密码的代码 58
4.1.4 破解路由密码 60
4.1.5 增加用户接口 62
4.2 项目9:栅栏密码 67
4.2.1 策略 68
4.2.2 使用栅栏密码加密代码 69
4.2.3 使用栅栏密码解密代码 71
4.3 本章小结 73
4.4 延伸阅读 73
4.5 实践项目 74
4.5.1 黑客林肯 74
4.5.2 判断密码类型 74
4.5.3 以字典的形式存储密钥 74
4.5.4 自动生成可能的密钥 75
4.5.5 路由换位密码:暴力破解 75
4.6 挑战项目 76
4.6.1 路由密码编码器 76
4.6.2 三栏式栅栏密码 77
第5章 编写英国内战密码 78
5.1 项目10:Trevanion密码 78
5.1.1 策略和伪代码 80
5.1.2 Trevanion密码的代码 81
5.2 项目11:编写空密码 84
5.2.1 清单型空密码的代码 85
5.2.2 清单型空密码程序的输出 86
5.3 本章小结 87
5.4 延伸阅读 87
5.5 实践项目 87
5.5.1 营救玛丽 87
5.5.2 科尔切斯特脱险 88
第6章 隐写术 89
6.1 项目12:隐藏维吉尼亚密码 89
6.1.1 程序运行平台 90
6.1.2 策略 91
6.1.3 伪代码 96
6.1.4 代码 97
6.1.5 添加维吉尼亚密码 100
6.1.6 检测隐藏消息 101
6.2 本章小结 104
6.3 延伸阅读 104
6.4 实践项目:检查空行数 105
6.5 挑战项目:使用Monospace字体 105
第7章 用遗传算法培育大鼠 106
7.1 在所有解中寻找最优解 106
7.2 项目13:培育超级老鼠大军 107
7.2.1 策略 107
7.2.2 培育超级大鼠的代码 110
7.2.3 项目小结 115
7.3 项目14:破解高科技保险柜 117
7.3.1 策略 118
7.3.2 保险柜破解器的代码 119
7.4 本章小结 122
7.5 延伸阅读 122
7.6 挑战项目 122
7.6.1 为老鼠建立“后宫” 123
7.6.2 创建更高效的破解器 123
第8章 统计俳句音节数 124
8.1 日本俳句 124
8.2 项目15:统计音节数 125
8.2.1 策略 126
8.2.2 管理缺失单词 128
8.2.3 音节计数程序代码 134
8.2.4 编写检查音节计数程序的程序 136
8.3 本章小结 137
8.4 延伸阅读 137
8.5 实践项目:音节计数器对比字典文件计数器 137
第9章 用马尔可夫链分析技术编写俳句 139
9.1 项目16:马尔可夫链分析 139
9.1.1 策略 141
9.1.2 伪代码 144
9.1.3 训练语料库 145
9.1.4 程序调试 146
9.1.5 程序代码 147
9.1.6 输出结果 156
9.2 本章小结 159
9.3 延伸阅读 159
9.4 挑战项目 160
9.4.1 新词生成器 160
9.4.2 图灵测试 160
9.4.3 俳句判断 161
9.4.4 马尔可夫音乐 161
第 10章 我们孤独吗——探索费米悖论 162
10.1 项目17:模拟银河系 162
10.1.1 策略 163
10.1.2 估算文明的数量 163
10.1.3 选择无线电气泡大小 164
10.1.4 得出探测概率计算公式 165
10.1.5 计算探测概率的代码 167
10.1.6 建立图形模型 171
10.1.7 结果分析 182
10.2 本章小结 183
10.3 延伸阅读 183
10.4 实践项目 184
10.4.1 遥远的银河 184
10.4.2 建立银河系帝国 184
10.4.3 预测可探测性的迂回方法 186
10.5 挑战项目 186
10.5.1 创造条状螺旋银河系 186
10.5.2 为你的星系添加可居住区 186
第 11章 蒙蒂·霍尔问题 188
11.1 蒙特卡罗模拟 188
11.2 项目18:验证萨凡特说法的正确性 190
11.2.1 策略 190
11.2.2 验证萨凡特说法的代码 191
11.3 项目19:蒙蒂霍尔游戏 193
11.3.1 面向对象程序设计简介 193
11.3.2 策略和伪代码 196
11.3.3 蒙蒂霍尔游戏代码 197
11.4 本章小结 207
11.5 延伸阅读 207
11.6 实践项目:生日悖论 207
第 12章 储蓄安全 208
12.1 项目20:模拟退休生活 208
12.1.1 策略 209
12.1.2 伪代码 215
12.1.3 获取历史收益数据 216
12.1.4 程序代码 217
12.2 本章小结 229
12.3 延伸阅读 229
12.4 挑战项目 229
12.4.1 一图值千金 229
12.4.2 组合投资 230
12.4.3 我的运气 230
12.4.4 财富值排序 230
第 13章 模拟外星火山 231
13.1 项目21:艾奥之羽 231
13.1.1 认识pygame 232
13.1.2 策略 233
13.1.3 代码 235
13.1.4 运行模拟程序 244
13.2 本章小结 245
13.3 延伸阅读 245
13.4 实践项目:抛射 245
13.5 挑战项目 246
13.5.1 羽流冠 246
13.5.2 “泉源”——粒子运动轨迹 246
13.5.3 弹丸 247
第 14章 用探测器绘制火星地图 248
14.1 与游戏有关的航天及动力学知识 248
14.1.1 万有引力定律 248
14.1.2 开普勒行星运动定律 249
14.1.3 轨道力学 250
14.1.4 向后飞行 250
14.1.5 提升和降低轨道高度 250
14.1.6 走内线 251
14.1.7 圆化椭圆形轨道 251
14.1.8 用霍曼转移提升和降低轨道 252
14.1.9 利用单次切向点火提升和降低轨道高度 253
14.1.10 利用螺旋转移实现轨道高度螺旋式改变 254
14.1.11 实现同步轨道 254
14.2 项目22:火星轨道飞行器游戏 254
14.2.1 策略 255
14.2.2 游戏资源 257
14.2.3 程序代码 258
14.3 本章小结 279
14.4 挑战项目 279
14.4.1 设置游戏启动画面 279
14.4.2 智能仪表 280
14.4.3 无线电黑障 280
14.4.4 游戏评分 280
14.4.5 策略指南 280
14.4.6 大气制动 281
14.4.7 入侵警报 282
14.4.8 越过极地 282
第 15章 用行星叠加技术完善天体摄影图片 283
15.1 项目23:叠加木星照片 283
15.1.1 认识pillow模块 284
15.1.2 操作文件和目录 285
15.1.3 从视频获取图片 287
15.1.4 策略 288
15.1.5 代码 288
15.2 本章小结 299
15.3 延伸阅读 299
15.4 挑战项目:消失之法 299
附录 实践项目解决方案 302
第 1章 虚假姓名生成器 302
第 2章 寻找回文 303
第3章 寻找易位词 303
第4章 破解美国内战密码 304
第5章 编写英国内战密码 308
第6章 隐写术 310
第8章 统计俳句音节数 311
第 10章 我们孤独吗——探索费米悖论 312
第 11章 蒙蒂·霍尔问题 316
第 13章 模拟外星火山 317
· · · · · ·