描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121363177
本书特色
(1)基于 Python新版本,适合零基础的初学者。
(2)采用单元形式编排内容,由浅入深、循序渐进,通过趣味案例激发学生的学习兴趣。
(3)以解决问题为导向,注重计算思维的培养,突出编程能力的重要性。同时,讲解编程知识以“够用”为原则,带领初学者避开技术陷阱。
(4)教学案例丰富,涉及数学计算、绘画、游戏设计和人工智能应用等,让学生体验编程的乐趣。
(5)精心设计课后练习题,让初学者巩固所学知识。
本书是趣味编程的入门教材,全书由浅入深、循序渐进地讲授Python编程知识、计算机算法基础和人工智能领域的相关应用,以问题为导向培养读者的计算思维能力。本书分为Python入门、算法基础和AI应用三篇,采用符合初学者认知水平的趣味案例组织内容,引导读者应用计算思维解决身边的问题,带领读者迈进人工智能的奇妙世界。本书既适合作为高校计算机公共基础课的教材,也适合作为Python爱好者的入门教材,同时也可以作为相关科技社团和编程培训机构的参考教材。
目 录
上篇?Python入门
CHALLENGE 00
构建Anaconda编程环境 —— 准备工作
0.1 Anaconda简介
0.2 安装Anaconda
0.3 Python开发环境
0.4 小结
CHALLENGE 01
猜数字 —— 布尔值与智能
1.1 挑战描述
1.2 解题思路
1.3 编程实现
1.4 布尔值
1.5 关系运算符
1.6 逻辑运算符
1.7 程序的智能
1.8 小结
1.9?巩固练习
CHALLENGE 02
国王与米粒 —— 值与运算
2.1 挑战描述
2.2 解题思路
2.3 编程实现
2.4 值
2.5?运算符
2.6 小结
2.7 巩固练习
CHALLENGE 03
Fizz Buzz 游戏 —— 流程控制
3.1 挑战描述
3.2 解题思路
3.3 编程实现
3.4 流程控制
3.5 if 语句
3.6 for 语句
3.7 流程走向的控制
3.8 while 语句
3.9 小结
3.10 巩固练习
CHALLENGE 04
绘制旗子 —— 函数
4.1 挑战描述
4.2 解题思路
4.3 编程实现
4.4 函数
4.5 变量的作用域
4.6 小结
4.7 巩固练习
CHALLENGE 05
破译密文 —— 字符串
5.1 挑战描述
5.2 解题思路
5.3 编程实现
5.4 字符串
5.5 转义字符
5.6 小结
5.7 巩固练习
CHALLENGE 06
画家的礼物 —— 容器
6.1 挑战描述
6.2 解题思路
6.3 编程实现
6.4 数据容器
6.5 列表
6.6 元组
6.7 集合
6.8 字典
6.9 小结
6.10 巩固练习
CHALLENGE 07
统计首字母频率 —— 文件
7.1 挑战描述
7.2 解题思路
7.3 编程实现
7.4 文件
7.5 小结
7.6 巩固练习
中篇?算法基础
CHALLENGE 08
查找单词 —— 二分查找算法与时间复杂度
8.1 挑战描述
8.2 解题思路
8.3 编程实现
8.4 程序的性能
8.5 大 O 表示法
8.6 小结
8.7 巩固练习
CHALLENGE 09
汉诺塔问题 —— 递归与合并排序
9.1 挑战描述
9.2 解题思路
9.3 编程实现
9.4 递归
9.5 合并排序
9.6 小结
9.7 巩固练习
CHALLENGE 10
App 用户评价分析——快速排序
10.1 挑战描述
10.2 解题思路
10.3 编程实现
10.4 分而治之策略
10.5 基准值的选择
10.6 合并排序和快速排序的对比
10.7 小结
10.8 巩固练习
CHALLENGE 11
小明与宝藏 —— 贪心算法
11.1 挑战描述
11.2 解题思路
11.3 编程实现
11.4 贪心算法
11.5 背包问题
11.6 小结
11.7 巩固练习
CHALLENGE 12
闯迷宫 —— 深度优先搜索
12.1 挑战描述
12.2 解题思路
12.3 编程实现
12.4 深度优先搜索
12.5 回溯
12.6 小结
12.7 巩固练习
CHALLENGE 13
海上营救 —— 广度优先搜索与队列
13.1?挑战描述
13.2 队列
13.3 解题思路
13.4 编程实现
13.5 广度优先搜索
13.6 深度优先搜索与广度优先搜索的对比
13.7 小结
13.8 巩固练习
CHALLENGE 14
牧场围栏 —— 凸包
14.1 挑战描述
14.2 解题思路
14.3 编程实现
14.4 小结
14.5 巩固练习
CHALLENGE 15
传递情报 —— 加密算法
15.1 挑战描述
15.2 解题思路
15.3 编程实现
15.4 小结
15.5 巩固练习
下篇?AI应用
CHALLENGE 16
制作城市经济热力图——数据处理与numpy 库
16.1 挑战描述
16.2 解题思路
16.3 编程实现
16.4 数据处理
16.5 numpy 库
16.6 小结
16.7 巩固练习
CHALLENGE 17
分析IMDb电影数据 —— pandas 库
17.1 挑战描述
17.2 解题思路
17.3 编程实现
17.4 pandas 库
17.5 小结
17.6 巩固练习
CHALLENGE 18
安斯库姆四重奏 —— matplotlib 库
18.1 挑战描述
18.2 解题思路
18.3?编程实现
18.4 matplotlib 库
18.5 小结
18.6 巩固练习
CHALLENGE 19
预测房价 —— 机器学习与 sklearn 库
19.1 挑战描述
19.2 解题思路
19.3 编程实现
19.4 机器学习
19.5 sklearn 库
19.6 小结
19.7 巩固练习
CHALLENGE 20
泰坦尼克号生还者预测
20.1 挑战描述
20.2 编程实现
20.3 小结
CHALLENGE 21
手写数字识别
21.1 挑战描述
21.2 编程实现
21.3 小结
前 言
五岁时,父亲从北京出差归来,带给我了一个神奇的礼物——九连环,在父亲和使用说明书的协助下,我很快就学会了玩法,自此玩九连环成为我喜爱的一项消遣活动,并痴迷于不断地提高解锁的速度。依稀记得,那段时间双手好像总是沾满了九连环上褪下的颜色。
后来我逐渐发展出来一种能力——在脑海里解九连环,并模拟因果关系链:“想要拿下第三个环,就一定要上第二个环……”这是一个严守法则的系统,而其法则又是完全可以理解的,这一发现让我惊喜莫名。
当然,真正明白九连环是怎么回事是在若干年以后了。现在回想,虽然九连环从未出现在我的课堂上,但它一手造就了我对“逻辑”的理解,也很可能就是我在高考时坚定地选择计算机专业的底层原因之一。九连环对我在逻辑方面的教育胜过任何课程:一件事情,如果你能把它融会贯通到自己的思维方式中,那它就会变得异常简单;如果不能,那它就比登天还难。 从这个角度看,为了更好地建立逻辑思维,是不是应该给每个孩子一个九连环?我曾经爱上了九连环,但这不能简化为一个“认知”问题,这只是我在特定环境下的个人经历,不能假想在每个孩子身上以完全一样的形式重复,但九连环所不能完成的,编程也许可以。
编程就是“学习界”里的海神普罗透斯,其本质在于它的普遍性和模拟能力。因为它可以变成很多种形式,实现很多种功能,所以它可以满足很多种需求。
编程不仅能帮助我们学习,还能帮助我们学会怎么学习,能够把学习变得更加人性化,因为它能在学习者和知识海洋之间建立一种更人性化、更紧密的连接。在即将来临的智能社会里,编程绝不仅仅是一个技能,它对我们的心智也必将带来根本和深远的影响。
Python 是一种通用型编程语言,它具有良好的可扩展性和适应性,易于学习,被广泛应用于大数据处理、人工智能、科学运算、金融量化投资等众多领域。无论是客户端、云端,还是物联网终端,都能看到Python的身影,可以说,Python的应用无处不在。特别是在移动互联网和人工智能时代,Python越来越受到程序员的青睐,成为近年来热度增长最快的编程语言之一。在 TIOBE、RedMonk等世界编程语言排行榜中,Python均名列前茅。因此,将 Python 作为编程入门语言是一个非常不错的选择。
本书特色
基于Python新版本,适合零基础的初学者。
采用单元形式编排内容,由浅入深、循序渐进,通过趣味案例激发学生的学习兴趣。
以解决问题为导向,注重计算思维的培养,突出编程能力的重要性。同时,讲解编程知识以“够用”为原则,带领初学者避开技术陷阱。
教学案例丰富,涉及数学计算、绘画、游戏设计和人工智能应用等,让学生体验编程的乐趣。
精心设计课后练习题,让初学者巩固所学知识。
本书内容脉络
本书共分为上、中、下三篇。
上篇是Python入门,讲授 Python 程序设计的基础知识。首先从变量、 数据类型等基本概念讲起,通过解决“猜数字”“计算米粒”等问题,逐步熟悉 Python 开发环境和编程方式;然后结合程序流程图,讲授使用顺序结构、选择结构和循环结构编程的方法,逐步掌握结构化的编程思想;最后讲授利用函数进行模块化设计以及字符串、容器、文件等实用知识点。本篇在教学案例设计上讲究趣味性、知识性和实用性,通过完成一系列的挑战,让初学者感受到编程的用处,从而激发学习编程的兴趣。
中篇是算法基础,使用Python讲授基本的算法策略和应用场景。首先从二分查找算法讲起,引入时间复杂度的概念;然后结合具体案例,分别介绍递归算法、排序算法、贪心算法、搜索算法;最后讲授与数学相关的凸包计算和加密算法。本篇为初学者揭开算法的神秘面纱,让其了解常用基本算法的原理和实现方法,同时巩固编程知识。
下篇是AI应用,讲授使用各种 Python 库进行数据分析和实现AI应用项目。首先学习 numpy、pandas 和 matplotlib 三个库,然后安排了3个体验性质的人工智能编程项目,分别是预测房价、泰坦尼克号生还者预测和手写数字识别。本篇通过初学者的亲身应用,消除对人工智能技术的神秘感。
在本书的编写过程中,楼惠群、颜慧佳、陈超颖、李祖理、朱志军、杨阳、戚远航等老师提出了不少宝贵意见,在此一并表示感谢!
本书学习建议
本书以解决问题为导向来设计内容,通过趣味案例激发学习者的编程兴趣,带领初学者循序渐进地学习Python和人工智能知识,避开编程学习中的各种技术陷阱。有别于其他说明书式的教材,这也是本书的特色所在,更加适合初学者作为入门教材。由于篇幅所限,在本书中使用到的各种 Python 库、函数及其用法等未能进行全面讲解,仅仅介绍了基本用法。作为本书的一个补充,建议 Python 初学者利用好互联网上各种免费的学习网站,遇到不清楚的函数用法、语法规则等问题,可以随时查阅相关内容。
本书配套资源
本书中的程序全部基于 Python 3.7版本编写,所有示例程序均已调试通过。
读者可以关注微信公众号“矩阵学堂”或登录华信教育资源网(www.hxedu.com.cn)获取本书的范例程序文件、数据文件、课后习题答案等资源,另外还为有需要的读者提供了 Anaconda 软件安装包。
读者也可以加入 QQ 群(949402464)获取本书资源包,还能和作者及网友在线交流,互相学习和分享经验。
由于编者水平有限,书中难免有不妥之处,还请读者朋友不吝赐教。请读者关注作者公布的微信公众号和 QQ群,以便及时了解本书的最新勘误信息。
本书适用对象
本书既适合作为高校计算机公共基础课的教材,也适合作为 Python 爱好者的入门教材,同时也可以作为相关科技社团和编程培训机构的参考教材。
作 者
于杭州
评论
还没有评论。