本书是一本写给青少年学习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