全书共分三部分,第一篇是实验概述,主要介绍Python语言程序设计实验的基本目的与要求,计算机程序设计的基本过程,以及问题求解和典型算法介绍;第二篇是基础实验篇,包含17个基础实验,精心设计实验内容、实验项目,包括实验目的、知识要点、实例解析、实验内容等,在巩固课程知识的同时兼顾知识拓展,在实践过程中做到举一反三、融会贯通,同时给出了利用Python第三方库解决数据处理等方面的应用实例,可供不同专业学生选用。第三篇是Python综合编程实例,每个实验包括一些趣味性的案例、基本算法,每个实例有题目描述、题目分析、算法设计、程序代码、运行结果、思考讨论、问题拓展等, 注重培养学生分析问题和解决问题的综合编程能力。本书内容丰富,实践性强,强调趣味性和实用性,可以作为各类高等院校Python语言程序设计课程的实验教材,也可以作为广大编程爱好者学习Python语言程序设计的参考书。
张银南,浙江科技学院副教授,曾主持浙江省教育厅课堂教学改革项目"基于线上线下混合的C语言程序设计教学实践”、浙江省软科学研究计划项目"构建智能制造产业链,实施"浙江智造”的现实基础与推进战略研究”、杭州市科技情报调研项目"杭州市跨境电子商务产业链发展情况调研及对策研究”等多项研究,曾获《C语言程序设计》课程获得全国生态文明信息化教学成果奖(D类)(排名一)、《C语言程序设计》教材被中国科学院教材建设专家委员会信息技术类"优秀教材(部级)二等奖”、"互联网+多元化的C语言程序设计教学实践”获校教学成果优秀奖(排名一)等奖项,曾出版浙江省"十一五”重点建设教材《C语言程序设计(第三版)》、浙江省高校"十三五”新形态教材《Office高级应用教程》、《Python程序设计》,电子工业出版社等著作。
目 录
第一篇 Python 程序设计实验概述
第1 章 Python 程序设计实验的目的与要求 ···························································.3
1.1 Python 程序设计实验的目的 ····································································.3
1.2 Python 程序设计实验的基本要求 ······························································.3
1.3 程序的编写与测试 ················································································.4
1.4 人才培养与课程学习建议 ·······································································.5
第2 章 问题求解与计算思维 ··············································································.8
2.1 计算概述 ····························································································.9
2.2 求解计算机问题 ··················································································.10
2.3 计算思维 ···························································································.14
2.4 算法 ·································································································.19
2.5 数据结构 ···························································································.23
2.6 算法评价 ···························································································.26
第3 章 典型算法介绍 ·······················································································29
3.1 枚举算法 ···························································································.29
3.2 递归算法 ···························································································.31
3.3 分治算法 ···························································································.34
3.4 递推算法 ···························································································.35
3.5 贪心算法 ···························································································.36
3.6 回溯算法 ···························································································.38
3.7 迭代算法 ···························································································.40
习题 ········································································································.41
第二篇 基础实验
实验0 Python 环境配置 ····················································································45
一、实验目的 ····························································································.45
二、知识要点 ····························································································.45
三、实例解析 ····························································································.48
四、实验内容 ····························································································.50
实验1 数据的输入和输出 ··················································································52
一、实验目的 ····························································································.52
二、知识要点 ····························································································.52
三、实例解析 ····························································································.53
四、实验内容 ····························································································.55
实验2 turtle 绘图 ····························································································58
一、实验目的 ····························································································.58
二、知识要点 ····························································································.58
三、实例解析 ····························································································.60
四、实验内容 ····························································································.62
实验3 运算符与表达式 ·····················································································64
一、实验目的 ····························································································.64
二、知识要点 ····························································································.64
三、实例解析 ····························································································.68
四、实验内容 ····························································································.71
实验4 字符串 ·································································································75
一、实验目的 ····························································································.75
二、知识要点 ····························································································.75
三、实例解析 ····························································································.78
四、实验内容 ····························································································.83
实验5 选择结构程序设计 ··················································································86
一、实验目的 ····························································································.86
二、知识要点 ····························································································.86
三、实例解析 ····························································································.87
四、实验内容 ····························································································.92
实验6 循环结构程序设计 ··················································································94
一、实验目的 ····························································································.94
二、知识要点 ····························································································.94
三、实例解析 ····························································································.96
四、实验内容 ··························································································.103
实验7 列表与元组 ························································································.105
一、实验目的 ··························································································.105
二、知识要点 ··························································································.105
三、实例解析 ··························································································.107
四、实验内容 ··························································································.112
实验8 字典与集合 ························································································.116
一、实验目的 ··························································································.116
二、知识要点 ··························································································.116
三、实例解析 ··························································································.118
四、实验内容 ··························································································.123
实验9 函数 ·································································································.126
一、实验目的 ··························································································.126
二、知识要点 ··························································································.126
三、实例解析 ··························································································.128
四、实验内容 ··························································································.133
实验10 文件 ·······························································································.137
一、实验目的 ··························································································.137
二、知识要点 ··························································································.137
三、实例解析 ··························································································.138
四、实验内容 ··························································································.141
实验11 调试和异常处理 ················································································.143
一、实验目的 ··························································································.143
二、知识要点 ··························································································.143
三、实例解析 ··························································································.145
四、实验内容 ··························································································.147
实验12 面向对象程序设计基础 ·······································································.150
一、实验目的 ··························································································.150
二、知识要点 ··························································································.150
三、实例解析 ··························································································.151
四、实验内容 ··························································································.153
实验13 tkinter 图形界面设计 ··········································································.155
一、实验目的 ··························································································.155
二、知识要点 ··························································································.155
三、实例解析 ··························································································.157
四、实验内容 ··························································································.159
实验14 Python 科学计算与数据分析 ································································.161
一、实验目的 ··························································································.161
二、知识要点 ··························································································.161
三、实例解析 ··························································································.163
四、实验内容 ··························································································.165
实验15 数据可视化 ······················································································.166
一、实验目的 ··························································································.166
二、知识要点 ··························································································.166
三、实例解析 ··························································································.167
四、实验内容 ··························································································.174
实验16 网络爬虫入门 ···················································································.177
一、实验目的 ··························································································.177
二、知识要点 ··························································································.177
三、实例解析 ··························································································.179
四、实验内容 ··························································································.182
实验17 中文词云 ·························································································.184
一、实验目的 ··························································································.184
二、知识要点 ··························································································.184
三、实例解析 ··························································································.186
四、实验内容 ··························································································.189
第三篇 Python 综合编程实例
实验18 趣味数字 ·························································································.193
实例18-1 水仙花数 ·················································································.193
实例 18-2 完全数 ····················································································.198
实例18-3 快乐数 ····················································································.202
实例18-4 不变初心数 ··············································································.205
实验内容 ································································································.207
实验19 趣味算法 ·························································································.208
实例19-1 鞍点 ·······················································································.208
实例19-2 猴子选猴王 ··············································································.210
实例19-3 汉诺塔问题 ··············································································.213
实验内容 ································································································.216
实验20 趣味逻辑推理 ···················································································.217
实例20-1 猴子吃桃问题 ···········································································.217
实例20-2 鸡兔同笼 ·················································································.219
实例20-3 幼儿园分糖果 ···········································································.221
实验内容 ································································································.223
实验21 趣味应用实例 ···················································································.225
实例21-1 简易计算器 ··············································································.225
实例21-2 随机生成验证码 ········································································.227
实验21-3 超市寄存柜 ··············································································.229
实例21-4 彩虹瓶 ····················································································.232
实验内容 ································································································.235
实验22 字符串应用 ······················································································.237
实例22-1 变位词 ····················································································.237
实例22-2 词频统计 ·················································································.238
实例22-3 加密和解密 ··············································································.241
实验内容 ································································································.244
参考文献 ······································································································.245