目录 第1章你好Python1 1.1软件和程序1 1.2编程1 1.3程序设计语言2 1.3.1程序设计语言的分类2 1.3.2高级语言的分类3 1.4Python语言3 1.4.1Python的诞生3 1.4.2Python的版本4 1.4.3Python IDE开发工具4 1.5任务一搭建IDLE环境5 1.5.1任务目标5 1.5.2操作步骤5 1.5.3必备知识7 1.5.3.1IDLE主窗口7 1.5.3.2IDLE主题样式8 1.6任务二输出“Hello,World!”9 1.6.1任务目标9 1.6.2操作步骤9 1.6.3必备知识11 1.6.3.1程序运行方式11 1.6.3.2对文件的操作12 1.7任务三输出特殊字符13 1.7.1任务目标13 1.7.2操作步骤14 1.7.3必备知识14 1.7.3.1print语句14 1.7.3.2转义字符15 1.8任务四输出中文15 1.8.1任务目标15 1.8.2操作步骤15 1.8.3必备知识16 1.8.3.1中文字符的处理16 1.8.3.2Python语言的学习方法16 1.9小结17 1.10动手写代码17 Python程序设计任务驱动式教程目录第2章Python语言基础知识19 2.1任务一人生有多长19 2.1.1任务目标19 2.1.2操作步骤19 2.1.3必备知识20 2.1.3.1变量与变量名20 2.1.3.2变量的命名规则20 2.1.3.3变量的赋值20 2.1.3.4变量的引用21 2.1.3.5变量的输出22 2.2任务二重量单位转换22 2.2.1任务目标22 2.2.2操作步骤22 2.2.3必备知识23 2.2.3.1数据类型23 2.2.3.2数字类型之间的运算25 2.2.3.3程序的输入25 2.2.3.4程序的输出26 2.3任务三考试成绩28 2.3.1任务目标28 2.3.2解决步骤28 2.3.3必备知识29 2.3.3.1表达式29 2.3.3.2算术运算符29 2.3.3.3复合赋值运算符30 2.3.3.4关系运算符30 2.3.3.5逻辑运算符31 2.3.3.6运算符优先级和结合性33 2.3.3.7内置函数34 2.4任务四邮政编码解析35 2.4.1任务目标35 2.4.2解决步骤35 2.4.3必备知识36 2.4.3.1Python程序的书写规则36 2.4.3.2注释的妙用36 2.4.3.3算法的概念37 2.5任务五椭圆的面积和周长38 2.5.1任务目标39 2.5.2解决步骤39 2.5.3必备知识39 2.5.3.1math标准库39 2.5.3.2math库的引用40 2.5.3.3查看标准库的内容41 2.5.3.4程序的简单开发流程41 2.6小结42 2.7动手写代码42 第3章选择结构44 3.1任务一马拉松成绩44 3.1.1任务目标44 3.1.2操作步骤44 3.1.3必备知识45 3.1.3.1单分支if语句格式和执行过程45 3.1.3.2单分支if语句使用说明45 3.1.3.3Python缩进规则46 3.2任务二闰年47 3.2.1任务目标47 3.2.2操作步骤47 3.2.3必备知识47 3.2.3.1双分支if语句格式和执行过程47 3.2.3.2双分支if语句使用说明48 3.3任务三空气质量指数48 3.3.1任务目标48 3.3.2操作步骤48 3.3.3必备知识49 3.3.3.1多分支if语句格式和执行过程49 3.3.3.2多分支if语句使用说明49 3.4任务四出租车费用50 3.4.1任务目标50 3.4.2操作步骤50 3.4.3必备知识51 3.4.3.1if语句的嵌套51 3.4.3.2pass语句52 3.5小结53 3.6动手写代码53 第4章循环结构54 4.1任务一格里高利公式计算π值54 4.1.1任务目标54 4.1.2操作步骤54 4.1.3必备知识55 4.1.3.1while语句格式和执行过程55 4.1.3.2while语句使用说明55 4.2任务二流星雨年历56 4.2.1任务目标56 4.2.2操作步骤56 4.2.3必备知识57 4.2.3.1for语句格式和执行过程57 4.2.3.2range()函数57 4.2.3.3for语句使用说明57 4.3任务三鲜花送祝福59 4.3.1任务目标59 4.3.2操作步骤59 4.3.3必备知识60 4.2.3.1循环嵌套的语句格式60 4.2.3.2循环嵌套的执行60 4.2.3.3循环嵌套使用说明60 4.4任务四无人机编队61 4.4.1任务目标61 4.4.2操作步骤61 4.4.3必备知识62 4.4.3.1循环的中断62 4.4.3.2break语句62 4.4.3.3continue语句63 4.5任务五素数63 4.5.1任务目标 63 4.5.2操作步骤63 4.5.3必备知识64 4.5.3.1循环中的else语句64 4.5.3.2判断素数的算法66 4.6小结67 4.7动手写代码67 第5章字符串68 5.1任务一数字和英文的对应68 5.1.1任务目标68 5.1.2操作步骤68 5.1.3必备知识68 5.1.3.1字符串数据类型68 5.1.3.2字符串的索引70 5.2任务二身份证信息解析71 5.2.1任务目标71 5.2.2操作步骤71 5.2.3必备知识72 5.2.3.1字符串的切片72 5.2.3.2利用切片逆序输出字符串73 5.3任务三输出图案73 5.3.1任务目标73 5.3.2操作步骤73 5.3.3必备知识74 5.3.3.1字符串的拼接74 5.3.3.2字符串的复制74 5.4任务四查找元音字母74 5.4.1任务目标74 5.4.2操作步骤75 5.4.3必备知识75 5.4.3.1字符串的判断运算符75 5.4.3.2字符串的遍历76 5.5任务五最大字符和最小字符77 5.5.1任务目标77 5.5.2操作步骤77 5.5.3必备知识: 字符串的常用内置函数78 5.6任务六翻转数和回文数79 5.6.1任务目标79 5.6.2操作步骤79 5.6.3必备知识80 5.6.3.1字符串与其他类型的转换函数80 5.6.3.2字符串的进制转换函数81 5.7任务七玫瑰有几许81 5.7.1任务目标81 5.7.2操作步骤82 5.7.3必备知识82 5.7.3.1count()方法83 5.7.3.2find()方法83 5.7.3.3index()方法84 5.8任务八单词分割84 5.8.1任务目标84 5.8.2操作步骤84 5.8.3必备知识85 5.8.3.1replace()方法85 5.8.3.2split()方法86 5.8.3.3join()方法86 5.8.3.4字符串的不可变性86 5.9任务九用户名是否存在87 5.9.1任务目标87 5.9.2操作步骤87 5.9.3必备知识88 5.9.3.1upper()方法88 5.9.3.2lower()方法88 5.9.3.3title()方法88 5.10任务十合法的变量名89 5.10.1任务目标89 5.10.2操作步骤89 5.10.3必备知识90 5.10.3.1判断字符串类型的方法90 5.10.3.2判断以指定字符串开头或结尾的方法91 5.10.3.3删除字符串中多余字符的方法91 5.11任务十一10以内加法题92 5.11.1任务目标92 5.11.2操作步骤92 5.11.3必备知识93 5.12小结93 5.13动手写代码94 第6章列表与元组96 6.1任务一花园里的花96 6.1.1任务目标96 6.1.2操作步骤96 6.1.3必备知识97 6.1.3.1列表数据类型97 6.1.3.2列表的输出98 6.1.3.3列表的索引与访问99 6.2任务二素数99 6.2.1任务目标99 6.2.2操作步骤100 6.2.3必备知识: 列表元素的添加100 6.3任务三评分计算101 6.3.1任务目标101 6.3.2操作步骤101 6.3.3必备知识103 6.3.3.1列表元素的排序103 6.3.3.2列表切片103 6.3.3.3列表元素的删除104 6.3.3.4列表常用的内置函数105 6.3.3.5列表的输入106 6.4任务四学生成绩107 6.4.1任务目标107 6.4.2操作步骤107 6.4.3必备知识108 6.4.3.1嵌套列表108 6.4.3.2列表元素的修改108 6.4.3.3嵌套列表的计算108 6.5任务五系统登录判断108 6.5.1任务目标108 6.5.2操作步骤109 6.5.3必备知识110 6.5.3.1列表的基本运算110 6.5.3.2列表的查找与统计111 6.6任务六元素出现频率112 6.6.1任务目标112 6.6.2操作步骤112 6.6.3必备知识113 6.6.3.1元组的概念113 6.6.3.2元组的操作114 6.7小结114 6.8动手写代码115 第7章字典与集合117 7.1任务一快递物流公司电话簿117 7.1.1任务目标117 7.1.2操作步骤118 7.1.3必备知识119 7.1.3.1字典的概念119 7.1.3.2字典的创建122 7.1.3.3字典的访问123 7.1.3.4字典的增加和修改124 7.1.3.5字典的查找124 7.1.3.6字典的删除125 7.1.3.7字典的遍历125 7.2任务二英文词频分析127 7.2.1任务目标127 7.2.2操作步骤127 7.2.3必备知识128 7.2.3.1使用字典进行词频统计128 7.2.3.2使用Counter进行词频统计129 7.3任务三学生基本信息表130 7.3.1任务目标130 7.3.2解决步骤130 7.3.3必备知识133 7.3.3.1在字典中嵌套字典133 7.3.3.2在字典中嵌套列表134 7.4任务四学生调查问卷135 7.4.1任务目标135 7.4.2解决步骤136 7.4.3必备知识137 7.4.3.1集合的概念137 7.4.3.2集合的创建138 7.4.3.3集合的数学运算139 7.4.3.4集合的操作139 7.5任务五单词去重142 7.5.1任务目标142 7.5.2解决步骤142 7.5.3必备知识143 7.5.3.1集合去重143 7.5.3.2字符串、列表、元组、字典和集合的异同点143 7.6小结144 7.7动手写代码144 第8章Python函数146 8.1任务一不同半径的圆面积146 8.1.1任务目标146 8.1.2操作步骤146 8.1.3必备知识148 8.1.3.1函数定义148 8.1.3.2函数调用148 8.1.3.3函数参数149 8.1.3.4函数返回值149 8.1.3.5函数对变量的作用150 8.2任务二多个圆的应用150 8.2.1任务目标150 8.2.2操作步骤150 8.2.3必备知识152 8.2.3.1带默认值的参数152 8.2.3.2函数嵌套调用153 8.2.3.3函数返回多个值153 8.2.3.4可变参数153 8.2.3.5匿名函数154 8.3任务三同心圆绘制154 8.3.1任务目标154 8.3.2操作步骤155 8.3.3必备知识156 8.3.3.1递归调用156 8.3.3.2海龟绘图157 8.4任务四快递物流公司电话簿158 8.4.1任务目标158 8.4.2操作步骤158 8.4.3必备知识160 8.4.3.1可变参数160 8.4.3.2位置参数与关键字参数161 8.5小结161 8.6动手写代码161 第9章Python文件164 9.1任务一评分计算164 9.1.1任务目标164 9.1.2操作步骤164 9.1.3必备知识166 9.1.3.1文件类型166 9.1.3.2文件打开166 9.1.3.3文件关闭166 9.1.3.4文件读167 9.2任务二英文词频统计168 9.2.1任务目标168 9.2.2操作步骤168 9.2.3必备知识169 9.2.3.1指定要返回的字符数169 9.2.3.2文件写170 9.2.3.3字符串的format()方法170 9.3小结171 9.4动手写代码171 第10章从Python 2到Python 3 173 10.1任务一搭建Thonny环境173 10.1.1任务目标173 10.1.2操作步骤173 10.1.3必备知识175 10.1.3.1编辑和运行程序175 10.1.3.2调试程序175 10.2任务二拆分三位数179 10.2.1任务目标179 10.2.2操作步骤179 10.2.3必备知识180 10.2.3.1运算符/和//180 10.2.3.2输入函数input()180 10.2.3.3输出函数print()181 10.2.3.4eval()函数182 10.3任务三模拟轮盘抽奖183 10.3.1任务目标183 10.3.2操作步骤183 10.3.3必备知识184 10.3.3.1生成随机浮点数184 10.3.3.2生成随机整数185 10.3.3.3从序列中获取一个随机元素185 10.3.3.4随机排列185 10.4任务四海龟作图186 10.4.1任务目标186 10.4.2解决步骤186 10.4.3必备知识187 10.4.3.1turtle库引入187 10.4.3.2绘图窗口188 10.4.3.3空间坐标体系188 10.4.3.4角度坐标体系189 10.4.3.5RGB色彩模式190 10.4.3.6turtle画笔控制函数191 10.5任务五最美不过《诗经》192 10.5.1任务目标193 10.5.2解决步骤193 10.5.3必备知识194 10.5.3.1标准库和第三方库194 10.5.3.2中文分词库jieba194 10.5.3.3分词模式197 10.5.3.4中文词频分析的步骤197 10.6任务六豆瓣电影Top 250198 10.6.1任务目标198 10.6.2解决步骤198 10.6.3必备知识198 10.6.3.1网络爬虫198 10.6.3.2网络爬虫的工作过程199 10.6.3.3HTTP、HTML和URL201 10.6.3.4爬取网页201 10.6.3.5网页数据解析207 10.7小结214 10.8动手写代码214 参考文献 215