Python青少年编程魔法课堂(案例+视频教学版)
定 价:99 元
- 作者:蒋子阳
- 出版时间:2020/10/1
- ISBN:9787111666554
- 出 版 社:机械工业出版社
- 中图法分类:TP311.561-49
- 页码:0
- 纸张:
- 版次:
- 开本:16开
本书是一本写给青少年学习Python编程的图书。书中介绍了50个左右的编程案例,带领读者掌握Python语言的基础语法,并初步体验项目案例的开发过程。本书共39章,分两部分。第1部分为“Python编程基础案例”,包括的案例有解鸡兔同笼问题、打印九九乘法表、用冒泡法给成绩排序、做个万年历、做个简易的通讯录、续写斐波那契数列、解汉诺塔问题等。第2部分为“Python编程进阶案例”,包括的案例有制作用按钮操作的计算器、制作Q版单位换算小工具、绘制哆啦A梦、制作轻量级画图板、绘制小猪佩奇、制作桌面动态时钟和数显时钟、绘制二维图表和三维图表、制作益智五子棋游戏等。本书行文诙谐幽默,案例丰富、实用性强,特别适合青少年作为Python编程的兴趣读物阅读,也适合想要探索Python语言的入门读者阅读。另外,本书还可以作为中小学编程教育课的教材使用。
前言
第1篇 Python编程基础案例
第1章 使用Python打印简单内容2
1.1 初识Python的IDLE2
1.2 在IDLE中打印“Python真好玩!” 3
1.3 创建及保存Python文件4
第2章 小小的Python计算器7
2.1 从加减乘除入手:写计算表达式7
2.2 保存输入的数字:变量8
2.3 小小的Python计算器成品9
2.4 课后小练习11
第3章 巧用数字解谜题——阴影面积12
3.1 问题描述:阴影面积是多少12
3.2 使用更精确的π:导入math模块13
3.3 计算结果的近似处理:浮点数的精度控制15
3.4 课后小练习17
第4章 巧用数字解谜题——对折细绳19
4.1 问题描述:对折并剪断细绳19
4.2 表示每次剪断后的结果:初识分数20
4.3 得到任意剪断n次后的结果22
4.4 课后小练习23
第5章 巧用数字解谜题——鸡兔同笼25
5.1 问题描述:鸡兔各几只25
5.2 合理的逻辑控制:循环结构和判断结构26
5.3 鸡兔同笼问题再升级31
5.4 课后小练习33
第6章 趣味数字游戏34
6.1 奇数、偶数各几何:while和for的较量34
6.2 质数、合数有哪些:break语句和嵌套的循环37
6.3 课后小练习39
第7章 循环和判断的魅力——背乘法表41
7.1 回忆九九乘法表41
7.2 用最熟悉的办法:for循环结构嵌套42
7.3 换一种办法:别样的while循环结构44
7.4 课后小练习46
第8章 循环和判断的魅力——成绩排序47
8.1 厘清思路:排序过程当如何47
8.2 最直接的办法:用for循环完成冒泡排序48
8.3 换一种办法:用while循环完成冒泡排序51
8.4 课后小练习52
第9章 挖掘列表的潜能——别样索引53
9.1 最末位的成绩:从后向前的索引顺序53
9.2 前(后)一段的成绩:用索引截取列表55
9.3 特定区间的成绩:列表分片56
第10章 挖掘列表的潜能——常规修改58
10.1 给grade追加新成绩:增加列表成员58
10.2 去掉grade中的成绩:删除列表成员60
10.3 调整grade中的成绩:给列表成员排序61
第11章 给排序小工具添加实用功能163
11.1 输入学号和成绩:input()函数和split()函数63
11.2 保存学号和成绩:append()函数65
11.3 把学号与成绩保存在一起:zip()函数和元组67
第12章 给排序小工具添加实用功能271
12.1 按学号查成绩:使用字典71
12.2 又见冒泡排序:列表的二维索引74
12.3 大功告成76
12.4 课后小练习78
第13章 例说元组的使用80
13.1 创建新的元组80
13.2 对元组使用索引81
13.3 获取成员的索引82
13.4 对元组成员计数83
第14章 例说字典的使用85
14.1 创建新的字典85
14.2 获取字典中的成员86
14.3 增/改字典中的成员88
14.4 删除字典中的成员89
第15章 几个循环中的小技巧90
15.1 range()函数的另类用法90
15.2 zip()函数与map()函数92
15.3 陌生的enumerate()函数95
第16章 函数,原来你是这样的98
16.1 从定义一个函数着手:def语句98
16.2 调用函数要留心:多个种类的参数100
16.3 小试牛刀:把成绩排序写进函数里103
16.4 课后小练习105
第17章 灵活的函数——做个万年历107
17.1 闰年还是平年:函数的返回值107
17.2 这个月有几天109
17.3 距离1900年的第一天已经过去了多久110
17.4 终于完成万年历111
第18章 灵活的函数——做个简易通讯录114
18.1 通讯录总览:初识SQLite数据库114
18.2 完成通讯录的菜单和新建联系人的功能116
18.3 完成查询联系人信息的功能117
18.4 完成修改联系人信息的功能118
18.5 完成删除联系人的功能120
18.6 完成显示全部联系人信息的功能121
18.7 把所有的功能拼装起来121
第19章 灵活的函数——写斐波那契数列124
19.1 探索斐波那契数列之谜124
19.2 续写斐波那契数列:函数的递归调用126
19.3 课后小练习128
第20章 灵活的函数——解汉诺塔问题129
20.1 从最简单的情况入手129
20.2 由简入繁,摸清圆盘的挪动规律131
20.3 用Python玩转汉诺塔:又见递归函数132
20.4 课后小练习134
第21章 揭开类的神秘面纱137
21.1 从一个汽车类开始:定义一个类137
21.2 让类代替字典:创建类的实例139
21.3 为什么说类是面向对象的141
21.4 课后小练习143
第22章 面向对象的类——升级通讯录144
22.1 升级开始:定义一个Contact类144
22.2 添加展示操作菜单的类方法145
22.3 添加新建/查询联系人的类方法146
22.4 添加修改/删除联系人的类方法147
22.5 添加显示所有联系人的类方法149
22.6 添加程序的执行入口149
22.7 课后小练习151
第23章 面向对象的类——发纸牌比大小游戏153
23.1 从一张牌开始:定义Card类153
23.2 负责洗牌和发牌:定义Deck类155
23.3 有两名玩家:定义Player类156
23.4 开始游戏:定义Game类156
23.5 试玩扑克牌游戏158
第24章 面向对象的类——继承了什么160
24.1 国产车或合资车:父类、子类160
24.2 从父类继承:继承了哪些162
24.3 修改继承类的方法:重载163
第25章 面向对象的类——做个员工数据库166
25.1 定义相关的类166
25.2 创建类的实例168
25.3 保存类的实例:初识shelve模块170
第2篇 Python编程进阶案例
第26章 捕捉不到的按钮174
26.1 空白的窗口:初识tkinter模块174
26.2 放一个按钮:Button控件175
26.3 鼠标指,按钮跑:按钮响应鼠标事件178
26.4 课后小练习181
第27章 Q版单位换算小工具182
27.1 从整体界面设计入手182
27.2 把全部控件都安排到位183
27.3 把换算功能写成函数184
27.4 课后小练习188
第28章 用按钮操作的小小计算器189
28.1 先进行外观设计189
28.2 创建窗口及放置显示面板190
28.3 放置计算器的按键193
28.4 思考一下:有哪些事件需要响应196
28.5 全新的事件响应办法:lambda回调199
28.6 把所有的工作结合起来201
28.7 题外话:谈谈lambda表达式203
第29章 绘制一幅卡通画204
29.1 创建空白画布:Canvas组件204
29.2 夜晚的格调:用深色填充画布206
29.3 小插曲:试做一个颜色对照板209
29.4 夜空,繁星:绘制五角星211
29.5 夜空,弯月:绘制圆215
29.6 夜景,群山与草木:绘制矩形217
第30章 绘制动漫人物——哆啦A梦219
30.1 哆啦A梦的整体形象219
30.2 一切从头开始220
30.3 头的下面是身体222
30.4 身体之后是四肢223
30.5 别忘了还有铃铛224
第31章 自制轻量级画图板226
31.1 预览画图板成品226
31.2 从定义一个类着手228
31.3 创建画图板的菜单230
31.4 让画图板能用鼠标进行操作232
31.5 大功告成,试用画图板233
第32章 绘制太极图案237
32.1 与turtle模块的初次相识237
32.2 厘清绘制太极图案的思路238
32.3 绘制太极图案的左半边239
32.4 绘制太极图案的右半边241
第33章 绘制可爱的小猪佩奇243
33.1 观察小猪佩奇,思考绘制过程243
33.2 绘制小猪佩奇的头部245
33.3 绘制小猪佩奇的身体250
33.4 绘制小猪佩奇的四肢251
33.5 绘制小猪佩奇的尾巴253
第34章 制作一个桌面动态时钟255
34.1 做个什么样的桌面动态时钟255
34.2 从绘制时钟的表盘刻度开始256
34.3 初始化钟表的指针258
34.4 让指针开始旋转259
34.5 添加日期和星期显示263
第35章 制作一个数显时钟265
35.1 做个什么样的数显时钟265
35.2 从能够显示的数字开始267
35.3 定时刷新时钟的显示269
第36章 做个简易的图片浏览器274
36.1 预览简易图片浏览器成品274
36.2 要看哪张图片:tkinter的文件选择窗口276
36.3 把选择的图片显示出来277
36.4 克服缺陷:PIL模块来帮忙278
36.5 另辟蹊径:初识matplotlib模块280
第37章 精彩纷呈的图表1283
37.1 折线图:从中发现趋势283
37.2 散点图:化简后的折线图286
37.3 柱状图:让比较更直观288
37.4 叠加的柱状图:看看比例290
37.5 饼图:让比例更清晰293
第38章 精彩纷呈的图表2298
38.1 三维散点图:更酷炫的散点图298
38.2 三维平面图:凸显立体效果300
第39章 益智五子棋游戏304
39.1 初识pygame模块304
39.2 绘制出棋盘是第一步306
39.3 支持落子是第二步309
39.4 区分黑白子是第三步312
39.5 判断输赢是第四步315
附录A 安装Python320
附录B 程序流程图图例327
附录C Python的表达式操作符329
附录D 安装pygame模块331
附录E 安装一款IDE软件代替IDLE333