Python趣味编程:从入门到人工智能pdf下载

Python趣味编程:从入门到人工智能百度网盘pdf下载

作者:
简介:Python趣味编程:从入门到人工智能
出版社:
出版时间:2019-06
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

内容简介

《Python趣味编程:从入门到人工智能》是专门为青少年编写的零基础Python语言编程入门教材,由浅入深、循序渐进地讲授Python语言编程知识,以解决问题为导向,培养青少年的编程思维。本书采用单元课程的形式编排内容,分为编程基础、数学与算法、游戏编程、人工智能四个单元,采用符合青少年认知水平的趣味案例进行教学,指导青少年使用编程的思维方式解决身边的问题,带领青少年迈进Python编程的奇妙世界。

本书是零起步教材,适合广大青少年和所有对编程感兴趣的初学者阅读,也适合作为学校编程社团和编程培训机构的教材。

作者简介

谢声涛,男,38岁,小海豚科学馆创始人,致力于线下和线上推广青少年科普教育和编程教育。曾在多家互联网公司工作,历任程序员、研发经理、架构师、技术总监等职,熟悉大规模网站架构设计,擅长复杂应用系统开发,在海量数据管理、搜索引擎技术等应用方面有着丰富经验。出版《“编”玩边学:Scratch趣味编程进阶——妙趣横生的数学和算法》,《Scratch编程从入门到精通》。

目录

第1 单元编程基础

第1课似曾相识——遇见Python3

第2课计算圆周率——神奇计算器10

第3课编程宣言——hello,world14

第4课照猫画虎——剖析Python程序19

第5课去火星要多久——变量和表达式25

第6课八十天环游地球——函数的使用33

第7课几何拼贴画——海龟绘图42

第8课高烧100℃——顺序结构51

第9课飞向太空——选择结构56

第10课棋盘麦粒——循环结构67

第11课恺撒加密——字符串处理78

第12课素数筛法——列表的使用89

第13课莫尔斯码——字典的使用100

第14课数字黑洞——自定义函数108

第15课图像转字符画——使用库编程120

第16课物以类聚——面向对象编程128

第2单元数学与算法

第17课隔沟算羊——枚举策略143

第18课李白沽酒——递推策略150

第19课水手分椰子——模拟策略155

第20课谁是雷锋——逻辑推理159

第21课向右看齐——冒泡排序164

第22课挑选苹果——选择排序169

第23课整理扑克——插入排序174

第24课分而治之——快速排序179

第25课猜数游戏——二分查找186

第26课勾股树——分形之美192

第27课玫瑰曲线——数学之美200

〖1〗〖1〗第3单元游戏编程

第28课Pyglet编程初步209

第29课公主迎圣诞223

第30课疯狂摩托239

第31课捕鱼达人249

第4单元人工智能

第32课OpenCV编程初步271

第33课人脸识别279

第34课目标检测285

第35课绘画大师291


参考文献296

附录A管理Python第三方模块297

附录BPython初学者常见错误及解决方法300

后记306


精彩书摘

第3课编程宣言——hello,world3.1介绍Python编辑器

在Python Shell窗口中使用交互模式进行编程,每次都需要重新输入代码,而且也不方便编辑代码。有没有其他方式输入和编辑代码呢?答案是肯定的。

在IDLE环境中集成有一个Python编辑器,可以自由输入Python代码并进行编辑,之后再执行。我们通常所说的编程,就是在某种文本编辑器中输入程序的代码,然后执行和调试,使程序能够正确实现预期的功能。

在Python Shell窗口中,选择File→New File命令,如图31所示,将会打开一个Python编辑器窗口,如图32所示。

图31从Python Shell窗口中打开Python编辑器窗口

图32新打开的Python编辑器窗口〖1〗〖1〗Python编辑器除了能够编辑文本之外,还提供了许多辅助编写Python代码的功能特性。这些特性包括撤销和恢复、代码着色、智能缩进、语法提示、自动完成等。此外,Python编辑器还支持多窗口,能够同时编辑多个Python源文件。

3.2编写hello, world程序

当初学者兴致勃勃地打开Python编辑器窗口之后,面对闪烁的光标,往往不知道如何编写自己的第一个Python程序。

按照惯例,程序员在学习一门新语言时写的第一个程序通常是hello,world程序。这个程序非常简单,它的功能是向计算机屏幕输出一个hello, world字符串。

在Python编辑器窗口的文本区域中输入下面一行Python代码:   print('hello, world')

如图33所示,这行代码在Python编辑器用不同的颜色表示,便于编程者区分代码的各个组成部分。其中,紫色的print是Python语言的输出函数;绿色部分是print()函数的参数值,它被放在一对圆括号中间。这个print()函数的作用是将这对单引号中间的字符串输出到计算机屏幕上。

图33第一个Python程序

接着,在Python编辑器窗口中,选择Run→Run Module命令,如图34所示,这时会弹出一个Save Before Run or Check对话框,如图35所示,提示用户必须先保存编辑器窗口中的程序代码(又称源代码)。

图34Python编辑器的Run菜单

图35提示保存源代码对话框

如图35所示,单击“确定”按钮之后,会弹出一个“另存为”对话框窗口,让用户指定文件名并将Python源代码保存到本地磁盘。例如,以hello.py作为文件名将Python源代码保存到C盘根目录下(或者其他路径)。之后,Python Shell窗口就会被激活,刚才编写的Python代码就会被执行,执行结果显示在>>>提示符之后,输出内容如下。  >>> ======== RESTART: C:\\hello.py ========

  hello, world

如果看到输出这样的内容,那么恭喜你,你的第一个Python程序运行成功了。这是你在Python编程之路上迈出的重要一步,仿佛是在宣布: “我开始用Python编程了!”

3.3函数和字符串

在这个hello, world示例程序中,涉及两个编程元素: 函数和字符串。

Python语言提供丰富的函数用于满足各种各样的编程需求。例如,Python提供print()函数,用于将一个字符串输出到计算机屏幕上。如图36所示,在调用函数时,需要指定函数名和函数参数,其中函数参数要求放在一对圆括号内。有的函数可以有多个参数,各参数之间用逗号分隔,也可以没有参数,在后面课程中将会详细介绍。

在Python语言中,字符串是一种表示文本的数据类型,要求将文本数据放在一对单引号或双引号中。字符串可用来表示一句话、一本图书的名字、一个网址或者一个电话号码……任何放在一对单引号或双引号中的内容都被当成字符串。如图37所示。

图36print()函数调用说明

图37字符串

单引号或双引号用于表示字符串数据,在使用print()函数输出字符串时不会输出单引号或双引号。例如,在上面的hello, world示例程序中,print()函数输出的内容是: hello, world。

接下来,我们编写程序输出一首李白的《静夜思》。打开一个新的Python编辑器窗口,将以下4行代码输入到编辑器中。  print('床前明月光')

  print('疑是地上霜')

  print("举头望明月")

  print("低头思故乡")

然后以“静夜思.py”作为文件名将Python源代码保存到磁盘上,再选择Run→Run Module命令运行程序,执行结果如下。  >>>======== RESTART: C:\\静夜思.py ========

  床前明月光


  疑是地上霜

  举头望明月

  低头思故乡


3.4常用功能菜单

在IDLE环境中,Python Shell和Python编辑器提供的File菜单是相同的,其常用菜单项的功能说明见表31。表31IDLE环境的常用File菜单功能说明

菜单项功 能 说 明New File打开一个新的Python编辑器窗口Open打开一个本地磁盘上存在的Python源代码文件Save将当前修改的Python源文件保存到本地磁盘Save As...将当前打开的Python源文件另存为其他源文件Close关闭当前的Python编辑器窗口Exit退出IDLE环境,即关闭打开的Python Shell窗口和Python编辑器窗口Recent Files显示最近使用的文件列表当使用Python编辑器编写程序代码,并将其保存到本地磁盘上时,如果未指定文件的扩展名,那么Python编辑器会自动加上.py作为扩展名。图38是编写hello, world示例程序时保存到本地磁盘上的Python源文件。

图38磁盘上的hello.py源文件

Python源文件以.py作为文件扩展名,但它实质上是一个文本文件,你可以用任何文本编辑器打开它进行修改。小知识

hello, world的历史

在1974年Brian Kernighan所撰写的Programming in C: A Tutorial中首次出现了C语言版本的hello, world程序。  printf("hello, world\\n");

后来,这个程序随着Brian Kernighan 和Dennis M Ritchie合著的The C Programme Language而广泛流行,成为广大程序员学习一门新的编程语言时编写的第一个程序。

最初的hello, world打印内容有一个标准,即全小写,有逗号,逗号后空一格,且无感叹号。不过沿用至今,完全遵循传统标准形式的程序已经很少出现了。

练习题练习题

1. 在IDLE环境中,如果想编写Python代码并保存为源文件,应该使用()。

A. Python ShellB. Python编辑器C. 两者都可以

2. 在Python编辑器中写好程序代码后,用Run菜单中的()命令来执行程序。

  A. Python Shell B. Check Module C. Run Module

3. 字符串是一种文本类型的数据,需要放在一组()中间。

  A. 单引号 B. 双引号 C. 两者都可以

4. 要将字符串hello, world输出到屏幕,Python 3的代码()是正确的。

A. print 'hello, world'

B. print(hello, world)

C. print('hello, world')

D. print hello, world

5. 编写Python程序,将下面的图案输出到屏幕上。







    

6. 编写Python程序,将宋朝诗人杨万里创作的一首七言绝句《小池》输出到屏幕上。

小池

泉眼无声惜细流

树阴照水爱晴柔

小荷才露尖尖角

早有蜻蜓立上头


前言/序言

近年来,从欧美兴起的新一轮青少年编程教育浪潮席卷全球,在中小学阶段推广和普及编程教育已经成为全球各国的共识。2017年7月,国务院发布的《新一代人工智能发展规划》提出,要在中小学阶段设置人工智能相关课程,并逐步推广编程教育。这极大地推动了青少年编程教育在国内的普及。在众多的编程语言中,比较适合广大青少年学习的编程语言是Scratch和Python。青少年可以选择图形化编程语言Scratch作为第一门编程语言,之后转向具有完整编程特性的Python语言。

Python是一种通用型编程语言,它具有良好的可扩展性和适应性,易于学习,被广泛应用于云计算、人工智能、科学运算、Web开发、网络爬虫、系统运维、图形GUI、金融量化投资等众多领域。无论是客户端、云端,还是物联网终端,都能看到Python的身影,可以说,Python的应用无处不在。特别是在移动互联网和人工智能时代,Python越来越受到编程者的青睐,成为近年来热度增长最快的编程语言之一。在TIOBE、RedMonk等世界编程语言排行榜中,Python语言名列前茅。因此,学习Python语言是一个非常不错的选择。

本书特点

(1) 讲授最新的Python 3.7版本,更适合零基础的初学者。

(2) 采用单元课程的形式编排内容,用趣味案例激发学生兴趣,更适合青少年学生学习。

(3) 以解决问题为导向,注重培养编程思维,让学生感受到编程是有用的。同时,讲解编程知识以“够用”为原则,带领初学者避开技术陷阱。

(4) 教学案例丰富多彩,有数学计算、绘画、游戏和人工智能等,让学生体验编程的乐趣。

(5) 每课均有课后练习题,让初学者巩固所学知识。

本书主要内容

本书共分为四个单元。

第1单元是编程基础,安排了16个课程,讲授结构化与面向对象程序设计的基础知识。首先从变量、数据类型、运算符和表达式等基本概念讲起,通过编写输入、处理、〖1〗〖1〗输出“三步曲式”的简单程序以及学习小海龟绘图,逐步熟悉Python开发环境和编程方式;然后讲授使用顺序结构、选择结构和循环结构等编写结构化的程序,同时结合流程图描述算法,逐步掌握结构化的编程思想;最后讲授利用函数进行模块化设计以及面向对象的编程知识。这个单元在教学案例设计上讲究趣味性和知识性,通过解决去火星要多久、八十天环游地球、棋盘麦粒、恺撒加密、莫尔斯码等问题,让初学者感受到编程是有用的,它能够解决身边的问题,从而激发他们学习编程的兴趣。

第2单元是数学与算法,安排了11个课程,讲授基本的算法策略、排序和查找算法、分形图和数学曲线的画法。其中,4个课程讲授使用枚举、递推、模拟等算法策略编程解决方程问题、逻辑推理问题等,案例有隔沟算羊、李白沽酒、水手分椰子等;5个课程讲授冒泡排序、选择排序、插入排序、快速排序和二分查找等算法;还有2个课程讲授勾股树分形图的画法和利用参数方程绘制玫瑰曲线图形,在练习题中还介绍谢尔宾斯基三角形和六角星雪花分形图、心形曲线和蝴蝶曲线的画法。

第3单元是游戏编程,安排了4个课程,讲授使用Pyglet类库编写游戏程序。首先是学习Pyglet编程基础,然后安排了3个趣味游戏项目,分别是公主迎圣诞、疯狂摩托和捕鱼达人。让初学者通过编写游戏程序进行编程实践,以“玩中学”的形式巩固编程知识。

第4单元是人工智能,安排了4个课程,讲授使用OpenCV类库编写人工智能技术应用项目。首先学习OpenCV编程基础,然后安排了3个体验性质的编程项目,分别是人脸识别、目标检测和绘画大师。让初学者通过人工智能技术的应用,消除人工智能技术的神秘感。

推荐学习网站

本书以解决问题为导向来设计各单元课程,通过趣味案例激发学习者的编程兴趣,带领初学者循序渐进地学习Python编程,避开编程中的各种技术陷阱。这有别于其他说明手册式的教材,也是本书的特色所在,更适合初学者作为入门教材学习。限于篇幅,在本书中使用到的各种Python类库、函数及其用法等未能作全面讲解,仅介绍了其基本的用法。作为本书的一个补充,建议Python初学者利用免费的学习网站runoob.com作为自己的Python学习手册,遇到不清楚的函数用法、语法规则等问题,可以随时查阅网站中的相关内容。runoob.com网站的Python教程链接如下:

http://www.runoob.com/python3

本书学习资源

本书中的程序基于Python 3.7版本编写,所有示例程序均已调试通过。

读者可以关注微信公众号“小海豚科学馆”获取本书的范例程序文件、游戏素材、数据文件、课后练习题答案等资源,另外还为有需要的读者提供了Python软件安装包、Windows 7 SP1升级包、AVBin库安装包等资源的下载方式。

读者也可以加入QQ群26356297获取本书资源包,还能和本书作者及网友在线交流,互相学习和分享经验。

由于编者水平有限,书中难免有不妥之处,还请读者朋友不吝赐教。请读者关注作者公布的微信公众号和QQ群,以便及时了解本书的最新勘误信息。

本书适用对象

本书是零起点教材,适合广大青少年和所有对编程感兴趣的初学者阅读,也适合作为学校编程社团和编程培训机构的教材。

让我们开始奇妙的Python编程之旅吧!


谢声涛

2019年3月