本书是趣味编程的入门教材,全书由浅入深、循序渐进地讲授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 小结