目录 第1章问题求解中的计算思维1 1.1计算机科学与计算思维1 1.1.1认识计算思维1 1.1.2计算机科学与计算思维的关系3 1.2认识软件、程序和程序设计4 1.3计算机问题求解的灵魂——算法5 1.3.1什么是算法5 1.3.2算法的分类7 1.3.3算法的特征7 1.3.4算法的描述8 1.3.5算法的实现——程序设计语言11 1.4程序设计中的数据和数据结构13 1.5算法思维问题求解的步骤15 1.6数学建模16 1.7软件工程化思想和方法18 1.7.1软件危机18 1.7.2软件工程的概念19 1.7.3软件生命周期20 1.7.4软件工程方法24 基础知识练习29 能力拓展与训练30 第2章Python编程基础31 2.1Python语言概述31 2.1.1Python语言的特点31 2.1.2Python语言的不同版本32 2.2Python环境32 2.2.1Python环境搭建32 2.2.2Python的开发环境34 2.2.3在PowerShell或命令提示符环境下运行Python程序39 2.3查看Python帮助文档的方法40 2.4Python编程基础44 2.4.1标识符和关键字44 2.4.2程序的书写规则45 2.4.3基本的输入和输出48 基础知识练习53 本章实验实训54 第3章问题求解中的数据抽象——数据类型与基本运算57 3.1问题求解中的数据抽象57 3.1.1数据和数据类型57 3.1.2常量、对象、变量和动态类型化59 3.2常用数据类型: 数字、布尔型和字符串61 3.2.1数字类型61 3.2.2数字类型的运算62 3.2.3布尔类型66 3.2.4字符串类型67 3.2.5字符串类型的运算70 3.3列表76 3.3.1列表定义与特点76 3.3.2列表基本操作76 3.4元组83 3.4.1元组定义与特点83 3.4.2元组基本操作83 3.5字典86 3.5.1字典定义与特点86 3.5.2字典基本操作87 3.6集合91 3.6.1集合定义与特点91 3.6.2集合的基本操作92 3.7运算符和表达式95 3.7.1运算符95 3.7.2表达式99 基础知识练习100 能力拓展与训练102 本章实验实训102 第4章问题求解中的控制抽象——程序控制结构与异常处理108 4.1顺序结构108 4.2选择结构110 4.3循环结构117 4.3.1for循环117 4.3.2while循环123 4.3.3循环嵌套126 4.3.4循环中的特殊语句pass、break和continue127 4.4异常处理131 4.4.1什么是异常131 4.4.2异常处理try…except语句132 4.4.3自定义异常类139 基础知识练习142 能力拓展与训练145 本章实验实训(一)145 本章实验实训(二)150 第5章函数与模块157 5.1模块的导入和使用158 5.2Python标准库160 5.2.1random库161 5.2.2time库162 5.2.3datetime库166 5.2.4tkinter库166 5.2.5turtle库171 5.2.6其他177 5.3Python第三方库178 5.3.1Python第三方库分类简介178 5.3.2Python第三方库的安装182 5.3.3PyInstaller库184 5.4自定义函数185 5.4.1函数的定义185 5.4.2函数的调用189 5.4.3函数的参数传递190 5.4.4变量的作用域195 基础知识练习198 能力拓展与训练201 本章实验实训(一)201 本章实验实训(二)210 第6章常用算法设计策略及其Python实现215 6.1常用算法设计策略的Python实现215 6.1.1枚举法215 6.1.2回溯法218 6.1.3递推法222 6.1.4递归法223 6.1.5分治法228 6.1.6贪心算法232 6.1.7动态规划法234 6.1.8查找238 6.1.9排序241 6.2算法分析245 基础知识练习247 能力拓展与训练248 本章实验实训248 第7章文件与数据格式化258 7.1文件258 7.1.1文件的概念与类型258 7.1.2文件的打开和关闭259 7.1.3文件的读写260 7.2数据格式化264 基础知识练习266 能力拓展与训练267 本章实验实训268 第8章应用实例270 8.1文本分析基础270 8.1.1jieba库270 8.1.2wordcloud库273 8.1.3英文文本分析——以Alice in Wonderland为例277 8.1.4中文文本分析——以《红楼梦》为例280 8.2科学计算基础285 8.2.1NumPy库中的ndarray285 8.2.2使用NumPy库创建数组287 8.2.3数组对象的常用操作292 8.2.4NumPy库中的文件操作296 8.2.5NumPy在线性代数中的应用298 8.2.6NumPy在多项式中的应用300 基础知识练习303 能力拓展与训练304 本章实验实训304 参考文献307