编辑推荐
本书属于No Starch的经典系列之一,英文版在美国受到读者欢迎。本书全彩印刷,寓教于乐,易于学习;读者可以轻松与快递地掌握解决问题方法和程序设计思维的。“编程从孩子抓起”得到越来越多的人的认同和重视。本书是父母教孩子学习Python程序设计的亲子读物。
内容简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。这门强大的语言如今在大学和Google、IBM等大型技术公司广泛使用。本书是一本父母和老师教孩子使用Python进行基础程序设计和解决问题的入门图书。 本书通过科学合理的结构、通俗易懂的文字、活泼有趣的图示,帮助孩子学习计算机的思维方式,而可视化和游戏为主的例子则持续吸引读者的注意力。针对变量、循环、函数等编程基础概念的介绍,可以帮助年轻的程序员构建所需的技能,以制作自己的超酷的游戏和应用。每章末尾的编程挑战,则可以拓展读者的思维,巩固所学习的知识和技能。本书适合任何想要通过Python学习编程的读者,尤其适合父母、老师、学生,以及想要理解计算机编程基础知识的未成年人阅读学习。
作者简介
Bryson Payne是北乔治亚大学的计算机科学系教授。他在大学教授计算机科学超过15年,在此之前,他教授中学数学和编程。他持续与K-12教育工作者进行广泛合作,使用3D打印机、机器人、遥控飞机和移动应用编程等技术,并且让学生参与编程。
目录
- 第1 章 Python 基础:认识环境.......................................... 1
- 1.1 认识Python ....................................................................................... 3
- 1.2 用Python 编写程序 .......................................................................... 5
- 1.3 运行Python 程序 .............................................................................. 5
- 1.4 本章小结 ........................................................................................... 6
- 1.5 编程挑战 ........................................................................................... 7
- 第2 章 海龟作图:用Python 绘图..................................... 9
- 2.1 第一个海龟程序 ............................................................................. 10
- 2.1.1 程序是如何工作的 ...................................................................10
- 2.1.2 发生了什么 ...............................................................................12
- 2.2 旋转的海龟 ..................................................................................... 13
- 2.3 海龟画圆 ......................................................................................... 14
- 2.4 添加颜色 ......................................................................................... 15
- 2.4.1 一个四色螺旋线 .......................................................................16
- 2.4.2 修改背景颜色 ...........................................................................19
- 2.5 一个变量搞定一切 ......................................................................... 20
- 2.6 本章小结 ......................................................................................... 22
- 2.7 编程挑战 ......................................................................................... 22
- 第3 章 数字和变量:用Python 做数学运算........................ 24
- 3.1 变量:保存内容的地方 ................................................................. 25
- 3.2 Python 中的数字和数学运算 ......................................................... 26
- 3.2.1 Python 数字 ...............................................................................27
- 3.2.2 Python 操作符 ...........................................................................28
- 3.2.3 在Python shell 中进行数学运算 .............................................28
- 3.2.4 语法错误:你说什么? ...........................................................29
- 3.2.5 Python shell 中的变量 ..............................................................30
- 3.2.6 用操作符编程:披萨计算器 ...................................................31
- 3.3 字符串:Python 中真正的字符 ..................................................... 33
- 3.4 用字符串改进彩色螺旋线 ............................................................. 35
- 3.5 列表:将所有内容放到一起 ......................................................... 36
- 3.6 Python 做作业 ................................................................................. 38
- 3.7 本章小结 ......................................................................................... 40
- 3.8 编程挑战 ......................................................................................... 41
- 第4 章 循环很有趣(你可以再说一遍)............................. 42
- 4.1 构建自己的循环 ............................................................................. 43
- 4.1.1 使用for 循环生成4 个圆组成的玫瑰花瓣 ............................44
- 4.1.2 修改循环让玫瑰花瓣带有6 个圆 ...........................................46
- 4.2 把玫瑰花瓣程序改进为允许用户输入 ......................................... 48
- 4.3 游戏循环和while 循环 .................................................................. 50
- 4.4 家庭成员螺旋线 ............................................................................. 52
- 4.5 整合:病毒式的螺旋线 ................................................................. 55
- 4.6 本章小结 ......................................................................................... 59
- 4.7 编程挑战 ......................................................................................... 60
- 第5 章 条件(如果是这样该怎么办?)................................62
- 5.1 if 语句 .............................................................................................. 63
- 5.2 认识布尔值 ..................................................................................... 65
- 5.2.1 比较操作符 ...............................................................................66
- 5.2.2 你还不够大! ...........................................................................68
- 5.3 else 语句 .......................................................................................... 69
- 5.3.1 多边形或玫瑰花瓣 ...................................................................70
- 5.3.2 偶数还是奇数 ...........................................................................71
- 5.4 elif 语句 ........................................................................................... 74
- 5.5 复杂条件:if、and、or 和not ....................................................... 75
- 5.6 秘密消息 ......................................................................................... 77
- 5.6.1 打乱字符串 ...............................................................................78
- 5.6.2 字符的值 ...................................................................................79
- 5.6.3 加密/ 解密程序 ........................................................................80
- 5.7 本章小结 ......................................................................................... 82
- 5.8 编程挑战 ......................................................................................... 83
- 第6 章 随机的乐趣和游戏(继续前进,抓住机会!)............. 85
- 6.1 猜数字游戏 ..................................................................................... 86
- 6.2 彩色的随机螺旋线 ......................................................................... 88
- 6.2.1 选取颜色,任意的颜色 ...........................................................89
- 6.2.2 获取坐标 ...................................................................................90
- 6.2.3 画布有多大 ...............................................................................92
- 6.2.4 整合 ...........................................................................................93
- 6.3 Rock-Paper-Scissors ........................................................................ 95
- 6.4 选一张牌,任意一张牌 ................................................................. 97
- 6.4.1 堆牌 ...........................................................................................97
- 6.4.2 发牌 ...........................................................................................98
- 6.4.3 计算牌面 ...................................................................................99
- 6.4.4 继续前进 .................................................................................101
- 6.4.5 整合 .........................................................................................102
- 6.5 掷骰子 ........................................................................................... 103
- 6.5.1 设置游戏 .................................................................................104
- 6.5.2 对骰子排序 .............................................................................104
- 6.5.3 测试骰子 .................................................................................105
- 6.5.4 整合 .........................................................................................106
- 6.6 万花筒 ........................................................................................... 109
- 6.7 本章小结 ........................................................................................112
- 6.8 编程挑战 ........................................................................................114
- 第7 章 函数(那些东西有了一个名字)............................ 116
- 7.1 用函数整合内容 ............................................................................117
- 7.1.1 定义random_spiral() ..............................................................118
- 7.1.2 调用random_spiral() ..............................................................119
- 7.2 参数:传给函数 ........................................................................... 120
- 7.2.1 在随机位置微笑 .....................................................................121
- 7.2.2 整合 .........................................................................................125
- 7.3 返回:发回统计结果 ................................................................... 127
- 7.3.1 从函数返回一个值 .................................................................127
- 7.3.2 在程序中使用返回值 .............................................................128
- 7.4 交互简介 ....................................................................................... 130
- 7.4.1 处理事件:TurtleDraw ...........................................................130
- 7.4.2 监听键盘事件: ArrowDraw ...................................................133
- 7.4.3 用参数处理事件:ClickSpiral ...............................................135
- 7.4.4 更进一步:ClickandSmile .....................................................137
- 7.5 ClickKaleidoscope ......................................................................... 139
- 7.5.1 draw_kaleido() 函数 ................................................................139
- 7.5.2 draw_spiral() 函数 ...................................................................140
- 7.5.3 整合 .........................................................................................140
- 7.6 本章小结 ....................................................................................... 142
- 7.7 编程挑战 ....................................................................................... 143
- 第8 章 定时器和动画.................................................... 144
- 8.1 获取Pygame 的所有GUI ............................................................ 145
- 8.1.1 用Pygame 画一个点 ..............................................................146
- 8.1.2 Pygame 中的新内容 ...............................................................148
- 8.1.3 游戏的部分 .............................................................................149
- 8.2 时间刚刚好:移动和弹跳 ........................................................... 152
- 8.2.1 移动笑脸 .................................................................................153
- 8.2.2 用Clock 类实现笑脸动画 ......................................................155
- 8.2.3 将笑脸从墙上弹开 .................................................................157
- 8.2.4 在四面墙上弹回笑脸 .............................................................162
- 8.3 本章小结 ....................................................................................... 166
- 8.4 编程挑战 ....................................................................................... 167
- 第9 章 用户交互:进入游戏........................................... 170
- 9.1 增加交互:点击和拖动 ............................................................... 171
- 9.1.1 点击点 .....................................................................................171
- 9.1.2 拖动绘制 .................................................................................173
- 9.2 高级交互:笑脸爆炸 ................................................................... 177
- 9.2.1 笑脸精灵 .................................................................................178
- 9.2.2 设置精灵 .................................................................................180
- 9.2.3 更新精灵 .................................................................................182
- 9.2.4 较大的和较小的笑脸 .............................................................182
- 9.2.5 整合 .........................................................................................183
- 9.3 SmileyPop 1.0 版 ........................................................................... 185
- 9.3.1 检测碰撞和删除精灵 .............................................................185
- 9.3.2 整合 .........................................................................................186
- 9.4 本章小结 ....................................................................................... 188
- 9.5 编程挑战 ....................................................................................... 189
- 第10 章 游戏编程......................................................... 191
- 10.1 构建游戏框架:Smiley Pong 1.0 版 .......................................... 192
- 10.1.1 绘制游戏板和游戏部件 .......................................................193
- 10.1.2 记录分数 ...............................................................................194
- 10.1.3 显示得分 ...............................................................................199
- 10.1.4 整合 .......................................................................................201
- 10.2 增加难度并结束游戏:Smiley Pong 2.0 版 .............................. 202
- 10.2.1 游戏结束 ...............................................................................203
- 10.2.2 再玩一次 ...............................................................................203
- 10.2.3 更快 .......................................................................................204
- 10.2.4 整合 .......................................................................................206
- 10.3 添加更多的功能:SmileyPop 2.0 版 ......................................... 208
- 10.3.1 使用Pygame 添加声音 ........................................................208
- 10.3.2 跟踪和记录玩家进度 ...........................................................210
- 10.3.3 整合 .......................................................................................213
- 10.4 本章小结 ..................................................................................... 215
- 10.5 编程挑战 ..................................................................................... 216
- 附录A Windows、Mac 和Linux 下的Python 安装........ 218
- A.1 Windows 下安装Python .............................................................. 219
- A.1.1 下载安装程序 ........................................................................219
- A.1.2 运行安装程序 ........................................................................220
- A.1.3 尝试Python ............................................................................223
- A.2 Mac 下的Python .......................................................................... 225
- A.2.1 下载安装程序 ........................................................................225
- A.2.2 运行安装程序 ........................................................................226
- A.2.3 尝试Python ............................................................................229
- A.3 Linux 下的Python 安装 .............................................................. 230
- 附录B Windows、Mac 和Linux 下的Pygame 安装......233
- B.1 在Windows 下安装Pygame........................................................ 234
- B.2 Mac 下的Pygame ......................................................................... 238
- B.2.1 Python 2.7 和Pygame 1.9.2 ...................................................238
- B.3 Linux 下的Pygame ...................................................................... 240
- B.3.1 Pygame for Python 2 ...............................................................241
- 附录C 构建自己的模块..................................................242
- C.1 构建colorspiral 模块 ................................................................... 243
- C.1.1 使用colorspiral 模块 .............................................................244
- C.1.2 重用colorspiral 模块 .............................................................245
- C.2 附加资料 ....................................................................................... 246
- 术语表..........................................................................247