内容简介
Python简单易学又功能强大,而且免费开源,在国内外的很多公司得到了广泛的应用。在科学计算、游戏、图像、人工智能、机器人、教育教学和航天飞机控制等很多领域,Python也是非常重要的编程工具。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》有大量的Python程序实例,包括绘制一些有趣的图形,解决一些常见的数学问题,爬取网络的信息,以及设计简单的交互性游戏。在程序实例的讲解中,介绍Python编程的基础知识。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》提供的编程实例,读者会非常感兴趣,愿意去验证和改编。《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》提供的游戏,都是孩子们日常接触过的游戏,非常容易理解。建议读者自行运行、修改、拆分、组装这些程序,看看自己的改动会如何影响最终的程序效果。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》适合广大读者在Python编程学习的入门阶段使用。年龄小的读者需在家长的辅导下学习和理解。
作者简介
王振世,男,在华为公司供职12年,历任无线解决方案总工、无线网优项目总监、无线工程交付总监、无线网络规划设计总监等职位,多次获得该企业金牌员工荣誉。
作者亲历过数十个通信工程项目,经历过项目中各个工种,有着丰富的实战经验。现就职于北京信世为科技有限公司,担任计算机编程、少儿STEAM编程课程体系的研究培训工作等。
目录
1.进入Python编程世界/2
1.1启动Python编程环境/5
1.2Python之禅/9
1.3送你几朵玫瑰花——运行Python程序/16
1.4Python的由来/20
2.奇妙的画图之旅——从turtle开始/22
2.1从点到面,学会基本图形画法/25
2.2组合图形的绘制/53
3.让图形炫起来——引入循环/62
3.1编程一点通:循环、for循环/64
3.2多边形的成长故事/65
3.3美丽的花朵/78
4.创建自己的模块——引入函数/86
4.1让你的程序可复用/88
4.2中美两国的国旗/97
5.让Python做数学题/118
5.1高斯问题/120
5.2使用math库/125
5.3常见的数学问题/131
6.从网络爬取信息/138
6.1获取网络信息/140
6.2天气预报器/144
7.游戏的初步设计/156
7.1设置游戏环境/158
7.2目标出现和消失/165
8.游戏的用户交互/170
8.1检测鼠标和键盘事件/172
8.2交互效果显示/180
9.游戏的趣味性设计/194
9.1增加音效/196
9.2增加竞技性/199
9.3游戏代码整体解析/210
附录A安装Python/225
附录B安装pygame/230
参考文献/234
前言/序言
写作背景
Python是不可多见的既简单易学、又功能强大的编程语言,它就是采用了尽
量简化的设计思路。你将惊喜地发现,阅读一个良好的Python程序像是在读一篇刘畅的
英语一样,尽管这篇英语文章的语法要求非常严格。
只要能上网就能够获取Python的安装程序。Python不但免费,而且源代码
公开。正因为如此,越来越多的人开始喜欢使用Python编程,越来越多的行业
开始应用Python。
国内国外很多公司,如腾讯、阿里、豆瓣、谷歌、YouTube和NASA(美国
航空航天局)都在用Python。在科学计算、游戏、图像、人工智能、机器人、教育教学、机
器人和航天飞机控制等诸多领域,Python有着广泛的应用。
Python可以说是21世纪最有前途的编程语言之一。
学习方法
学习编程是先学习程序的语法,还是先运行一个程序实例呢?
对资深的程序员来说,这似乎不是一个问题。但对于初学编程的人来说,这
个问题就比较重要了。你是要孩子们先感觉到爬山的艰难,还是要先体会
到爬山的乐趣呢?
如果孩子们首先接触到的是Python编程大量的概念,如变量、循环、函数、
字典等,但他们在面对一个空白的程序编辑器时,仍然可能会感到恐惧,不知所措。而
直接教孩子们运行一个程序实例,改写一个简短代码,这样会让他们体会到编程
的乐趣,远快于只和他们谈概念和定义。
让孩子尽快运行一行代码,改写一段代码,动起手来吧!让他们尽情尝试吧!
当家长在和孩子一同练习一段Python代码的时候,一定要避免出现抢孩子键盘,
指责孩子尝试过程中错误的冲动,甚至短暂的打扰也是不应该的。如果他们拿着
鼠标,看着键盘,却不知道下一步该怎么操作的时候,家长要去引导他们,而不
是自己着急上火,抢过鼠标去操作。不管他们要输入什么代码,都让他们自己去
输入。毕竟要学习编程的不是家长。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》有大量的Python程序实例,鼓励孩子们自行运行、修改、拆分、组装,
让他看看自己的改动如何影响最终的程序效果。如果改乱了,改不好,就和下载
的原始代码比较一下,看有哪些不同,或者索性拿原始代码重新再修改。一旦孩
子们尝试了Python编程世界提供的各种可能,他们很快会找到自己的兴趣所在。
记住,尽管好的程序凝结了人类的智慧,但它首先是个需要动手练习的技
能,一开始就坐而论道是不好的。让我们带着孩子立刻打开Python交互式Shell
(IDLE)命令行,输入他们的第一行代码print("hello,world"),然后按下回车键!
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》特点
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》对计算机软硬件环境要求简单,只要拥有一台计算机,装好Windows
操作系统,装好Python,便可以完成《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》的案例。请扫描《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》封底二维码下载本文附带的源代码,然后务必把这些代码保存在计算机的本地目录下以供查看。如果Python2.X放在中文目录名称下,运行代码会出现错误,这是因为
Python2.X运行环境对中文的处理不太完善。Python3.X运行环境就不存在这个
问题。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》对基本概念的阐述使用了大量易于理解的比喻和故事。同时使用了对话
式讲解,将读者可能提出的问题和回答表现出来。相信读者会对《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》提供的编程案例
非常感兴趣,并愿意去验证和改编。《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》提供的游戏编程都是孩子们日常接触过
的游戏,非常容易理解。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》以程序实例为主线,由浅到深地阐述Python编程。它不是Python编程
语法字典,但实例会涉及必要的、基本的编程知识和概念,也会以“编程一点通”
的形式来讲解。《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》以实践为主,不会穷尽所有的Python概念。读者有了感悟
和实操能力以后,碰到新的Python的编程知识,可以通过查阅语法类的书籍或
上网查询相关概念深化理解。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》注重的是如何解决问题,而不是Python编程语言的语法和结构。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》结构
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》的第1章讲解了如何启动Python编程环境、Python的特点,以及如何
运行Python程序。在这之前如果你还没有安装好Python程序,请按照附录A和
B的指引完成安装。
接下来,在第2章我们使用turtle库画基本图形和组合图形。家长要带着孩
子观察一下画笔的运行和代码的关系。通过改动和调整让孩子理解代码是如何控
制程序运行的。在第3和第4章,我们仍然用turtle画图,但使用了循环和函数,
使得代码更加简洁,更加直观。
第5章,我们解决了一些数学问题,这是程序设计的基本技能。很多问题的
解决需要一些数学基础。
很多读者都听到过网络爬虫的概念,并希望自己能从网上爬到一些有用的信
息。第6章以天气预报器为例,介绍了从网络中爬取信息的方法。
第7章~第9章,我们循序渐进地介绍了打地鼠游戏和击落飞机游戏的实现
过程,让孩子在游戏逐渐成型的过程中体会到编写代码的乐趣。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》中所有的程序实例都可以通过扫描《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》封底二维码获取,大
家务必要下载使用。
适合读者
如果你已经是Python开发的高手,或者有大型程序项目的开发经验,那么
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》肯定不适合你。因为这里介绍的内容在高手眼里可能是比较粗浅的。因此,
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》除高手之外的读者都适合阅读。
《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》尤其适合广大青少年在Python编程学习的入门阶段使用。年龄小的读者
需在家长的辅导下学习和理解。
致谢
首先感谢我的父亲和母亲,是他们的持续鼓励和默默支撑,使我能够长时间
专注于计算机编程语言的科普写作。其次,要感谢我的妻子和孩子,温暖的家庭
生活是我持续奋斗的原动力。尤其要感谢的是何家欢女士,她的配图构思不仅折
射出他对Python语言的深刻理解,而且体现了她乐观和幽默的特质,我非常享
受和何家欢女士默契合作的过程。
我还要感谢清华大学出版社的王莉编辑。王莉编辑对《乐学Python编程-做个游戏很简单/青少年STEAM活动核心系列丛书》精益求精的工作态
度令我佩服,感谢她充分为读者考虑和持续付出的精神。
最后,感谢所有的读者朋友,你们的持续关注是原创作者最大的欣慰。
由于作者水平有限,书中难免有疏漏之处,敬请批评指正。
王振世
2018年8月