目录 第1章准备——目标与任务、Python语言及其运行环境1 1.1数字化、智能化时代下的程序设计1 1.1.1人类已步入智能化时代1 1.1.2逻辑思维、实证思维、计算思维与数据思维2 1.1.3程序设计与科学思维6 1.2问题逻辑认知模式及POTOBE7 1.2.1人脑及人的认知过程7 1.2.2“知识逻辑认知模式”与“问题逻辑认知模式”9 1.2.3基于问题逻辑认知模式的成果导向教育(POTOBE)10 1.2.4以提升认知为目标的教学新范式——5E11 1.3为什么选择Python程序设计语言13 1.3.1Python的特点14 1.3.2Python编程环境15 1.4目标与任务22 1.4.1拟实现的目标——构建问题逻辑认知模式22 1.4.2要完成的任务——用Python实现一个简易高考平行志愿录取程序22 1.5动手做一做23 第2章设计解决问题的方案——描述算法的工具及Python基础语法29 2.1Question——提出问题29 2.2What——探索问题本质29 2.2.1AI工具的使用29 2.2.2探索问题本质32 2.3How——拓展求解问题必备的知识和能力33 2.3.1计算机求解实际问题的基本步骤33 2.3.2一种描述算法的工具——程序流程图33 2.3.3AI助学35 2.3.4Python语言基础36 2.4Done——设计出问题的求解方案44 2.4.1平行志愿录取程序流程图44 2.4.2平行志愿录取各子任务功能设计44 2.4.3任务划分45 2.5Whether——评价与反思46 2.5.1可能存在的问题46 2.5.2自主拓展学习,尝试解决一个具体小问题47 2.5.3AI助学48 2.6动手做一做52 2.6.1能力累积52 2.6.2项目实战53 第3章获取高考原始成绩数据——Python的字符串、列表、for循环、pandas 和文件543.1Question——提出问题54 3.2What——探索问题本质54 3.2.1AI助学54 3.2.2探索问题本质55 3.3How——拓展求解问题必备的知识和能力56 3.3.1如何用Python表示考生数据56 3.3.2如何用Python模拟生成考生数据66 3.3.3如何用Python保存考生数据70 3.4Done——实际动手解决问题75 3.4.1对模拟生成的考生数据的规定与假设75 3.4.2用Python模拟生成考生数据76 3.5Whether——评价与反思78 3.5.1存在的问题78 3.5.2优化高考成绩使其符合正态分布79 3.6动手做一做82 3.6.1能力累积82 3.6.2项目实战82 第4章成绩赋分及确定考生位次——Pandas处理数据的部分函数、if语句和函数83 4.1Question——提出问题83 4.2What——探索问题本质83 4.3How——拓展求解问题必备的知识和能力84 4.3.1AI助学84 4.3.2选科原始成绩的赋分方法85 4.3.3确定考生位次的方法101 4.4Done——实际动手解决问题105 4.4.1对选科科目赋分105 4.4.2计算总成绩并确定位次107 4.5Whether——评价与反思108 4.5.1总结与评价108 4.5.2AI助学108 4.5.3反思110 4.6动手做一做110 4.6.1能力积累110 4.6.2项目实战110 第5章实现简易平行志愿填报系统——字典、While循环及跳转语句、变量的 作用域、模糊查询、异常处理1115.1Excitation——提出问题111 5.2What——探索问题本质111 5.3How——拓展求解问题必备的知识和能力112 5.3.1AI助学112 5.3.2查询招生计划的方法113 5.3.3变量的作用域123 5.3.4获取和设置工作目录126 5.3.5确认文件是否存在126 5.4Done——实际动手解决问题127 5.4.1简易平行志愿填报系统的算法设计127 5.4.2基础准备的实现129 5.4.3招生专业查询query_majors函数的实现130 5.4.4平行志愿填报college_application函数的实现131 5.4.5功能选择的实现133 5.4.6登录功能的实现134 5.5Whether——评价与反思135 5.5.1对功能的评价与反思135 5.5.2部分功能优化136 5.6动手做一做139 5.6.1能力累积139 5.6.2项目实战140 第6章实现简易平行志愿录取系统——多人协同开发程序141 6.1Question——提出问题141 6.2What——探索问题本质141 6.3How——拓展求解问题必备的知识和能力142 6.3.1AI助学142 6.3.2模块化编程143 6.4Done——实际动手解决问题146 6.4.1简易志愿录取系统的算法设计146 6.4.2任务划分148 6.4.3系统实现148 6.5Whether——评价与反思152 6.6动手做一做153 6.6.1知识积累153 6.6.2项目实战153 第7章实现简易录取结果查询系统——简单数据分析及可视化154 7.1Question——提出问题154 7.2What——探索问题本质154 7.3How——拓展求解问题必备的知识和能力155 7.3.1AI助学155 7.3.2多用户密码登录156 7.3.3Pandas中几个数据统计的方法157 7.3.4Python基本的数据可视化方法159 7.4Done——实际动手解决问题170 7.4.1录取结果查询系统的功能和算法设计170 7.4.2任务划分172 7.4.3系统实现173 7.5Whether——评价与反思182 7.5.1Evaluation——评价182 7.5.2Evaluation——反思182 7.6动手做一做182 7.6.1知识积累182 7.6.2项目实战183