Python是一种表述型、面向对象编程、动态性数据类型的gao级编程语言,它具备丰富多彩和强劲的库,可以把用别的語言(特别是在是C/C++)制做的各种各样控制模块很轻轻松松地联接一起。这2年随之大家对人工智能技术的关心很多,大伙儿学习培训Python的激情也愈来愈上涨。Python在IEEE公布的2018年语言排行榜中居于shou位。
这书详细介绍了Python编程的基本知识,后以手机游戏《Minecraft(我的世界)》为质粒载体,根据Python编程来与游戏里面的游戏玩家或格子互动交流,依次保持了“剑球”手机游戏、五子棋游戏及其清晰度图象扫描机这好多个新项目,最终还保持了根据手机游戏操纵Arduino等外部设备的作用。期待大伙儿可以游戏中的全过程中轻轻松松地进到Python的全球,最后超越硬件软件的鸿沟,基本试着机械自动化。
这书出示边打游戏边学习编程的全新升级感受,合适对Python编程很感兴趣的用户阅读文章。手机游戏已不仅仅用于玩的,你将一起感受超级玩家、室内设计师和程序猿的人物角色。
目录
- 1 Python 基础 1
- 1.1 Python 的历史 1
- 1.2 Python 的发展 1
- 1.3 Python 的优缺点 2
- 1.3.1 Python 的优点 2
- 1.3.2 Python 的缺点 2
- 1.4 Python 的适用领域 3
- 1.5 Python 的安装与使用 3
- 1.5.1 Python 的安装 3
- 1.5.2 Python 的使用 5
- 1.5.3 编辑器 7
- 1.6 关键字 9
- 1.7 数字 10
- 1.8 变量 10
- 1.9 程序的基本结构 11
- 1.9.1 for 循环 12
- 1.9.2 if 选择结构 13
- 1.9.3 比较 14
- 1.9.4 逻辑运算 14
- 1.10 掷骰子 16
- 1.10.1 随机数 16
- 1.10.2 重复掷骰子 16
- 1.10.3 掷两个骰子 17
- 1.10.4 大小判断 18
- 1.11 While 20
- 2 字符串、列表和字典 22
- 2.1 字符串 22
- 2.1.1 字符串的定义 22
- 2.1.2 字符串的方法 22
- 2.2 列表 24
- 2.2.1 列表的定义 24
- 2.2.2 列表的方法 25
- 2.3 函数 26
- 2.4 猜词游戏 27
- 2.4.1 游戏规则 27
- 2.4.2 创建单词库 27
- 2.4.3 游戏结构 28
- 2.4.4 完善函数 29
- 2.5 字典 34
- 2.6 元祖 35
- 2.6.1 元祖的定义 35
- 2.6.2 多重赋值 35
- 2.6.3 多返回值 36
- 2.7 异常 36
- 2.8 函数汇总 37
- 2.8.1 数字 37
- 2.8.2 字符串 38
- 2.8.3 列表 39
- 2.8.4 字典 40
- 2.8.5 类型转换 40
- 3 类库和方法 42
- 3.1 库 42
- 3.1.1 使用random 库 42
- 3.1.2 使用Python 标准库 43
- 3.2 面向对象 44
- 3.3 定义类 44
- 3.4 继承 46
- 3.5 文件 48
- 3.5.1 读取文件 48
- 3.5.2 读取大文件 50
- 3.5.3 写入文件 51
- 3.5.4 文件系统操作 51
- 3.6 侵蚀化 52
- 3.7 网络 52
- 4 《Minecraft 我的世界》 54
- 4.1 《Minecraft》是什么 54
- 4.2 准备工作 55
- 4.3 欢迎来到《我的世界》 55
- 4.4 位置坐标 60
- 4.5 玩家的位置 60
- 4.5.1 获取玩家的位置 60
- 4.5.2 显示玩家的位置 61
- 4.5.3 设定玩家的位置 62
- 4.6 弹射区域 62
- 5 剑球游戏 64
- 5.1 建造球场 64
- 5.1.1 开辟空间 64
- 5.1.2 铺设球场 65
- 5.1.3 搭建球门 67
- 5.1.4 球场函数 67
- 5.2 击打事件处理 . 68
- 5.2.1 获取击打事件 68
- 5.2.2 确认方块的面 70
- 5.3 球的移动 71
- 5.3.1 击打方块不同的面 71
- 5.3.2 移动球的程序 73
- 5.4 异常情况 74
- 5.4.1 球多了 74
- 5.4.2 球没了 75
- 5.5 出界与进球 77
- 5.5.1 出界的判定 77
- 5.5.2 进球了 78
- 6 剑球进阶 .81
- 6.1 特殊规则 81
- 6.1.1 规则介绍 81
- 6.1.2 移动的中线 81
- 6.1.3 最大偏移量 83
- 6.2 显示数字 83
- 6.3 球门上的比分 86
- 6.3.1 东侧的比分 86
- 6.3.2 西侧的比分 94
- 6.4 CSV 文件 99
- 6.4.1 什么是CSV 文件 99
- 6.4.2 新建CSV 文件 100
- 6.4.3 读取外部文件 100
- 6.4.4 优化代码 102
- 6.5 彩蛋:TNT 来了 106
- 6.6 显示时间 108
- 6.6.1 获取系统时间 108
- 6.6.2 显示形式 109
- 6.6.3 功能实现 109
- 7 五子棋 115
- 7.1 绘制棋盘 115
- 7.1.1 二维数组 115
- 7.1.2 代码实现 116
- 7.2 落子 117
- 7.2.1 获取击打事件 118
- 7.2.2 改变方块颜色 118
- 7.2.3 更改数组 118
- 7.3 五子相连 118
- 7.3.1 落子效果 118
- 7.3.2 重复落子问题 119
- 7.3.3 获胜判断 121
- 7.4 重新开始 128
- 7.4.1 结束后的提示 128
- 7.4.2 刷新棋盘 129
- 7.4.3 反复刷新的问题130
- 8 图片扫描仪 131
- 8.1 像素画 131
- 8.2 项目介绍 132
- 8.3 操作菜单 133
- 8.3.1 获取输入信息 133
- 8.3.2 制作菜单 135
- 8.3.3 中文输入法 138
- 8.3.4 扫描仪菜单 138
- 8.4 扫描操作 142
- 8.5 复印操作 146
- 8.6 演示操作 148
- 8.6.1 原始内容制作 148
- 8.6.2 扫描 148
- 8.6.3 复印 152
- 8.7 完整的代码 154
- 9 硬件控制 160
- 9.1 Raspberry Pi 的硬件接口 160
- 9.1.1 连接GPIO 160
- 9.1.2 数字输出 161
- 9.1.3 模拟输出 163
- 9.2 串口通信 164
- 9.2.1 什么是Arduino164
- 9.2.2 在Raspberry Pi 上安装Arduino 165
- 9.2.3 Arduino 与Python 通信 165
- 9.3 比特开关 166
- 9.3.1 功能描述 166
- 9.3.2 准备工作 167
- 9.3.3 功能实现 167
- 附录 方块材质名称对照表 169