新书出版大赠送,共300本,分6批送完,每周一批,这是第一批,送50本。
本次活动日期:自本文推送开始,至2019年4月14日(周日)上午8:00结束,4月15日(周一)开始陆续邮寄,正在使用董付国老师任何一本Python教材的老师优先,本次赠书数量不够的话先随机赠送,已发送申请表但没获赠书的老师自动转入下一次活动。
样书申请方式:
本次活动只送书给老师,关注公众号“Python小屋”,后台发送消息“实验指导书申请表”,下载样书申请表,填写后发送至邮箱dongfuguo2005@126.com。

识别二维码,复制地址后使用浏览器打开清华大学出版社天猫官方旗舰店可以查看详情:

前 言
2015年8月我在清华大学出版社出版了教材《Python程序设计》和《Python程序设计基础》,当时的想法很简单,只是想写一本适合自己的Python教材。当时开设Python课程的学校很少,我觉得在自己退休之前能把第一次印刷的教材用完就不错了,没想到教材出版之后迅速得到国内高校老师的广泛认可,不到三个月就进行了第二次印刷。为了让更多Python爱好者受益,我于2016年6月29日开通了微信公众号“Python小屋”用来免费分享Python技术文章,截止本书编写完成时,已免费分享超过620篇,访问量超过150万。同时,还陆续出版了《Python程序设计(第2版)》、《Python可以这样学》、《Python程序设计开发宝典》、《中学生可以这样学Python》、《Python程序设计基础(第2版)》、《玩转Python轻松过二级》、《Python程序设计基础与应用》、《Python程序设计》(译)等系列教材,目前已被国内200多所高校选做教材,并被多个科研机构、软件公司、培训机构指定为参考工具书或培训教材。其中《Python可以这样学》已在台湾发行繁体版。
目前国内作者已出版了不少优秀的Python教材,各大出版社也从国外引入了很多经典Python教材,从不同角度、不同层面介绍了Python在各领域的应用,呈现出百花齐放的大好局面,极大促进了国内Python的发展和普及。但是,目前市面上还没有好的Python实验指导书,很多任课老师也在苦苦寻找好的Python实验项目。为了弥补这一空白,也为了更好地为广大Python任课教师服务,我从自己编写的700多个案例中精心挑选了81个案例进行优化并改写为实验项目,希望能对大家有所帮助,起到抛砖引玉的作用。
本书可以作为研究生、本科、专科各专业Python程序设计课程的实验指导书(根据需要选择不同的实验项目)或教师参考用书,也可以作为Python爱好者的自学参考,全部案例代码适用于Python 3.5/3.6/3.7或更高版本。另外,本书没有介绍Python语法、运算符、内置函数、程序控制结构、函数定义与使用等基础知识,可以参考最后的参考书目。
尽管已经尽最大可能保证书中内容的正确性,但仍难免有不足之处,如果您在书中发现错误并通过微信公众号“Python小屋”或电子邮箱“dongfuguo2005@126.com”告知作者,或许有机会获得意外惊喜。
董付国
2018年9月
目 录
实验1、 Python安装与开发环境搭建 16
适用专业: 16
实验目的: 16
实验内容: 16
实验步骤: 16
实验2、 Python运算符、内置函数、序列基本用法 18
适用专业: 18
实验目的: 18
实验内容: 18
参考代码: 19
实验3、 使用蒙特·卡罗方法计算圆周率近似值 21
适用专业: 21
实验目的: 21
实验内容: 21
参考代码: 21
实验4、 使用列表实现筛选法求素数 23
适用专业: 23
实验目的: 23
实验内容: 23
参考代码1: 23
参考代码2: 23
实验5、 使用集合实现筛选法求素数 25
适用专业: 25
实验目的: 25
实验内容: 25
参考代码: 25
实验6、 使用filter()函数统计列表中所有非素数 26
适用专业: 26
实验目的: 26
实验内容: 26
参考代码: 26
实验7、 理解浮点数运算的误差 27
适用专业: 27
实验目的: 27
实验内容: 27
提示: 27
实验8、 使用枚举法验证6174猜想 28
适用专业: 28
实验目的: 28
实验内容: 28
参考代码: 28
实验9、 计算小明爬楼梯的爬法数量 29
适用专业: 29
实验目的: 29
实验内容: 29
参考代码: 29
实验10、 模拟决赛现场最终成绩计算过程 31
适用专业: 31
实验目的: 31
实验内容: 31
实验11、 设计和实现聪明的尼姆游戏(人机对战) 34
适用专业: 34
实验目的: 34
实验内容: 34
参考代码: 34
实验12、 模拟报数游戏(约瑟夫环问题) 36
适用专业: 36
实验目的: 36
实验内容: 36
参考代码1(使用标准库itertools): 36
参考代码2(使用列表方法): 37
实验13、 模拟轮盘抽奖游戏 38
适用专业: 38
实验目的: 38
实验内容: 38
参考代码: 38
实验14、 模拟蒙蒂霍尔悖论游戏 40
适用专业: 40
实验目的: 40
实验内容: 40
参考代码: 40
实验15、 无界面版猜数游戏设计与实现 42
适用专业: 42
实验目的: 42
实验内容: 42
参考代码: 42
实验16、 抓狐狸游戏设计与实现 44
适用专业: 44
实验目的: 44
实验内容: 44
参考代码: 44
实验17、 模拟汉诺塔问题 46
适用专业: 46
实验目的: 46
实验内容: 46
参考代码: 46
实验18、 检测密码安全强度 48
适用专业: 48
实验目的: 48
实验内容: 48
参考代码: 48
实验19、 凯撒加密算法原理与实现 50
适用专业: 50
实验目的: 50
实验内容: 50
参考代码: 50
实验20、 打字练习成绩评定 51
适用专业: 51
实验目的: 51
实验内容: 51
参考代码: 51
实验21、 垃圾邮件快速识别思路与实现 53
适用专业: 53
实验目的: 53
实验内容: 53
参考代码: 53
实验22、 批量生成姓名、家庭住址、电子邮箱等随机信息 54
适用专业: 54
实验目的: 54
实验内容: 54
参考代码: 54
实验23、 自定义类模拟三维向量及其运算 57
适用专业: 57
实验目的: 57
实验内容: 57
参考代码: 57
实验24、 自定义类实现带超时功能的队列结构
59
适用专业: 59
实验目的: 59
实验内容: 59
参考代码: 59
实验25、 读写文本文件并添加行号 61
适用专业: 61
实验目的: 61
实验内容: 61
参考代码: 61
实验26、 计算文件MD5值 62
适用专业: 62
实验目的: 62
实验内容: 62
参考代码: 62
实验27、 磁盘垃圾文件清理器DIY 63
适用专业: 63
实验目的: 63
实验内容: 63
参考代码: 63
实验28、 处理Excel文件中的成绩数据 64
适用专业: 64
实验目的: 64
实验内容: 64
实验步骤: 64
实验29、 演员关系分析 67
适用专业: 67
实验目的: 67
实验内容: 67
参考代码: 68
实验30、 批量修改Excel文件格式 70
适用专业: 70
实验目的: 70
实验内容: 70
参考代码: 70
实验31、 合并多个相同表头但有纵向单元格合并的Excel文件 72
适用专业: 72
实验目的: 72
实验内容: 72
参考代码: 73
实验32、 Excel文件数据导入SQLite数据库 75
适用专业: 75
实验目的: 75
实验内容: 75
参考代码: 75
实验33、 查找Word中红色文本和加粗文本 78
适用专业: 78
实验目的: 78
实验内容: 78
实验步骤: 78
实验34、 使用正则表达式查找Word文件中AABB形式的词语 80
适用专业: 80
实验目的: 80
实验内容: 80
参考代码: 80
实验35、 统计指定文件夹及其子文件夹中所有PPTX文件中幻灯片总数量 81
适用专业: 81
实验目的: 81
实验内容: 81
参考代码: 81
实验36、 读取PPTX文件所有幻灯片中表格内的数据 82
适用专业: 82
实验目的: 82
实验内容: 82
参考代码: 82
实验37、 批量导入图片创建HTML5网页文件 83
适用专业: 83
实验目的: 83
实验内容: 83
参考代码: 84
实验38、 tkinter版小学数学口算题生成器设计与实现 86
适用专业: 86
实验目的: 86
实验内容: 86
参考代码: 86
实验39、 tkinter版猜数游戏设计与实现 90
适用专业: 90
实验目的: 90
实验内容: 90
参考代码: 90
实验40、 tkinter电子时钟的设计与实现 95
适用专业: 95
实验目的: 95
实验内容: 95
参考代码: 95
实验41、 tkinter简易计算器的设计与实现 97
适用专业: 97
实验目的: 97
实验内容: 97
参考代码: 97
实验42、 tkinter版倒计时按钮 101
适用专业: 101
实验目的: 101
实验内容: 101
参考代码: 101
实验43、 tkinter版桌面放大器设计与实现 103
适用专业: 103
实验目的: 103
实验内容: 103
参考代码: 103
实验44、 使用TCP协议实现智能聊天机器人 105
适用专业: 105
实验目的: 105
实验内容: 105
参考代码: 105
(1)服务端代码(chatServer.py) 105
(2)客户端代码(chatClient.py) 106
实验45、 使用TCP协议模拟FTP服务端与客户端通信程序 108
适用专业: 108
实验目的: 108
实验内容: 108
参考代码: 108
(1)服务端代码(ftpServer.py) 108
(2)客户端代码(ftpClient.py) 111
实验46、 使用UDP协议实现服务器自动发现 114
适用专业: 114
实验目的: 114
实验内容: 114
参考代码: 114
(1)服务端代码(udpServer.py) 114
(2)客户端代码(udpClient.py) 115
实验47、 使用多线程+Condition对象模拟生产者/消费者问题 116
适用专业: 116
实验目的: 116
实验内容: 116
参考代码: 116
实验48、 使用多线程快速复制目录树 118
适用专业: 118
实验目的: 118
实验内容: 118
参考代码: 118
进一步思考: 120
实验49、 使用进程池统计指定范围内素数的个数 121
适用专业: 121
实验目的: 121
实验内容: 121
实验50、 多机器跨网络数据传输 123
适用专业: 123
实验目的: 123
实验内容: 123
参考代码: 123
(1)服务器代码(server.py) 123
(2)客户端1代码(client1.py) 123
(3)客户端2代码(client2.py) 124
实验51、 邮件群发程序设计与实现 125
适用专业: 125
实验目的: 125
实验内容: 125
参考代码: 125
实验52、 网络流量监视程序设计与实现 127
适用专业: 127
实验目的: 127
实验内容: 127
参考代码: 127
实验53、 爬取中国工程院院士信息 129
适用专业: 129
实验目的: 129
实验内容: 129
实验步骤: 129
实验54、 使用scrapy框架爬取山东各城市天气预报 131
适用专业: 131
实验目的: 131
实验内容: 131
实验步骤: 131
实验55、 使用selenium模拟Edge浏览器爬取指定城市当前天气情况 136
适用专业: 136
实验目的: 136
实验内容: 136
实验步骤: 136
实验56、 爬取百度指定关键字搜索结果前十页信息 139
适用专业: 139
实验目的: 139
实验内容: 139
实验步骤: 139
实验57、 图像噪点添加与空域融合 142
适用专业: 142
实验目的: 142
实验内容: 142
参考代码: 142
实验58、 图像批量添加数字水印 145
适用专业: 145
实验目的: 145
实验内容: 145
参考代码: 145
实验59、 生成棋盘纹理图片 147
适用专业: 147
实验目的: 147
实验内容: 147
参考代码: 147
实验60、 把多个图片拼接为长图 148
适用专业: 148
实验目的: 148
实验内容: 148
参考代码: 148
实验61、 把GIF动图拆分为多个静态图片 149
适用专业: 149
实验目的: 149
实验内容: 149
参考代码: 149
实验62、 验证码图片生成器的原理与实现 150
适用专业: 150
实验目的: 150
实验内容: 150
参考代码: 150
实验63、 图像滤波器设计与实现 153
适用专业: 153
实验目的: 153
实验内容: 153
参考代码: 153
实验64、 光照模型原理与OpenGL实现 155
适用专业: 155
实验目的: 155
实验内容: 155
参考代码: 155
实验65、 制作多纹理映射的旋转立方体 158
适用专业: 158
实验目的: 158
实验内容: 158
参考代码: 158
实验66、 使用维吉尼亚密码算法实现加密和解密 163
适用专业: 163
实验目的: 163
实验内容: 163
参考代码: 163
实验67、 暴力破解MD5值 165
适用专业: 165
实验目的: 165
实验内容: 165
参考代码: 165
实验68、 使用高级加密算法AES对信息进行加密和解密 167
适用专业: 167
实验目的: 167
实验内容: 167
参考代码: 167
实验69、 查杀系统中指定进程 169
适用专业: 169
实验目的: 169
实验内容: 169
参考代码: 169
实验70、 控制另一个Python程序的的输入输出 170
适用专业: 170
实验目的: 170
实验内容: 170
参考代码: 170
(1)被控程序(externProgram.py) 170
(2)控制程序(test.py) 170
实验71、 使用matplotlib绘制折线图对龟兔赛跑中兔子和乌龟的行走轨迹进行可视化 171
适用专业: 171
实验目的: 171
实验内容: 171
参考代码: 171
运行结果: 172
实验72、 使用matplotlib绘制正多边形逼近圆周 173
适用专业: 173
实验目的: 173
实验内容: 173
参考代码: 173
运行结果: 174
实验73、 绘制折线图并实现鼠标悬停标注 175
适用专业: 175
实验目的: 175
实验内容: 175
参考代码: 175
实验74、 使用柱状图和热力图可视化并分析学生成绩数据 178
适用专业: 178
实验目的: 178
实验内容: 178
参考代码: 178
运行结果: 179
实验75、 数据分析与可视化综合实验 180
适用专业: 180
实验目的: 180
实验内容: 180
参考代码: 181
实验76、 WAV声音文件处理 183
适用专业: 183
实验目的: 183
实验内容: 183
参考代码: 183
实验77、 基于用户协同过滤算法的电影打分与推荐 185
适用专业: 185
实验目的: 185
实验内容: 185
参考代码: 185
实验78、 使用线性回归算法预测儿童身高 187
适用专业: 187
实验目的: 187
实验内容: 187
参考代码: 187
实验79、 使用KNN分类算法实现根据身高和体重对体型分类 189
适用专业: 189
实验目的: 189
实验内容: 189
参考代码: 189
实验80、 使用朴素贝叶斯算法实现中文邮件分类 191
适用专业: 191
实验目的: 191
实验内容: 191
参考代码: 191
实验81、 使用k-means聚类算法进行分类 194
适用专业: 194
实验目的: 194
实验内容: 194
参考代码: 194
适用教材与参考书 196
温馨提示
关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看300节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。

--------董付国老师Python系列图书--------
1)《Python程序设计(第2版)》清华大学出版社

2)《Python可以这样学》清华大学出版社

3)《Python程序设计基础(第2版)》清华大学出版社

4)《中学生可以这样学Python》清华大学出版社,配套微课:《中学生可以这样学Python》84节微课免费观看地址

5)《Python程序设计开发宝典》清华大学出版社

6)《玩转Python轻松过二级》清华大学出版社

7)《Python程序设计基础与应用》机械工业出版社

8)《Python程序设计实验指导书》清华大学出版社

9)《Python编程基础与案例集锦(中学版)》电子工业出版社

《中学生可以这样学Python》84节微课免费观看地址
非计算机专业《Python程序设计基础》教学参考大纲
计算机相关专业“Python程序设计”教学大纲(参考)
《Python程序设计》实验指导书(30个实验)
《Python程序设计基础与应用》课后习题答案
Python课程期末考试编程题自动批卷原理与实现模板
“Python小屋”免费资源汇总(截至2018年11月28日)
Python课堂上我与学生斗智斗勇已8个学期
系列教学PPT:
1900页Python系列PPT分享一:基础知识(106页)
1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)
1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
1900页Python系列PPT分享四:字符串与正则表达式(109页)
1900页Python系列PPT分享五:函数设计与应用(134页)
1900页Python系列PPT分享六:面向对象程序设计(86页)
1900页Python系列PPT分享七:文件操作(132页)
1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)
报告PPT(163页):基于Python语言的课程群建设探讨与实践
报告PPT(123页):Python编程基础精要
2000页Python系列PPT分享九:(GUI编程)(122页)
Python实验项目1例:使用进程池统计指定范围内素数的个数
(PPT)Python程序设计课程教学内容组织与教学方法实践