版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中信息技术二年级Python字典与集合教学设计一、教学背景分析(一)课程标准定位普通高中信息技术必修课程《数据与计算》模块要求学生掌握一种程序设计语言的基本知识,能使用程序设计语言实现简单算法,体验程序设计的基本流程。本课“Python基础知识(六)”以字典与集合为核心内容,属于数据结构基础板块,是连接“变量、列表、元组”等前期知识与“算法实现、数据分析”后续内容的关键节点。字典键值对的映射思想,正是课标所强调的“抽象与建模”学科核心素养的直接载体。(二)学情分析授课对象为高中二年级学生,已完成Python基本语法、顺序结构、分支结构、循环结构以及列表、元组的学习。学生能够编写遍历列表、统计元素个数等简单程序,但在面对“大量数据快速查找”“元素去重”等真实问题时,仍习惯使用列表循环比对,算法效率意识薄弱。学生对“键”与“值”的映射关系缺乏直观认知,容易混淆字典与列表的访问方式;对集合的无序性、唯一性理解不深,常出现试图通过索引访问集合元素的错误。(三)教材分析本节内容为Python基础知识序列的第六讲,承接第五讲“列表与元组”,为第七讲“函数与模块”和后续的“数据可视化”奠定基础。字典是Python中唯一的映射类型,集合是唯一具备自动去重特性的数据结构。二者在数据处理、爬虫、数据库操作、人工智能数据预处理等领域应用极为广泛,是学生从“会写代码”走向“写好代码”的分水岭。二、教学目标(一)知识与技能目标学生能够准确说出字典的创建方式,理解键值对的基本概念,能使用正确的语法实现字典元素的增、删、改、查;能运用get方法、keys方法、values方法、items方法处理字典数据;能说明集合的特性,能使用集合完成去重、交集、并集、差集运算。(二)过程与方法目标通过“通讯录查询”与“班级兴趣统计”两个真实任务,经历“提出问题—分析问题—设计数据结构—编写程序—验证优化”的完整过程,体会数据结构选择对程序效率的影响,初步建立根据问题特征选择合适数据结构的思维习惯。(三)情感态度与价值观目标在对比列表查找与字典查找的效率差异实验中,感受数据结构的精妙,形成探究精神;在小组协作完成任务的过程中,培养规范编码的习惯与互助意识;结合学籍管理、成绩分析等校园应用场景,理解信息技术服务生活的价值。三、教学重点与难点教学重点:字典的创建与键值对的增删改查操作,字典的遍历方式;集合的创建与基本运算。教学难点:理解键的唯一性与不可变性,能依据问题情境在列表、字典、集合之间做出合理的数据结构选择。四、教学准备硬件环境:机房一人一机,装有Python3.10及以上版本与IDLE或PyCharm社区版。软件资源:教师端演示文档、学生任务单、三个分层练习文件(基础任务.py、进阶任务.py、挑战任务.py)、录制的微课视频(供操作困难学生回放)。教学方法:任务驱动法、对比实验法、讲授与演示结合、小组协作学习。五、教学过程(一)情境导入(5分钟)教师在大屏幕上展示两张图片:一张是纸质电话簿,一页一页翻找姓名;另一张是手机通讯录,输入姓名首字母瞬间定位联系人。教师提问:同样是查找电话号码,哪一种方式更快?为什么手机通讯录可以做到秒查?学生自由发言,教师引导归纳:纸质电话簿是“按顺序逐条找”,类似于我们学过的列表遍历;手机通讯录是“按名字直接找到号码”,名字与号码之间是一一对应的映射关系。在Python中,有一种数据结构天生就是为这种“名字对应内容”的场景设计的,它就是字典。今天这节课,我们就来揭开字典与集合的面纱。教师顺势抛出问题串:如果用一个列表存储全班40名同学的姓名和数学成绩,要查询某位同学的成绩需要怎么写代码?平均要比较多少次?有没有一键直达的办法?让学生带着疑问进入新知学习。(二)新知建构一:字典的概念与创建(10分钟)教师演示讲解,学生在自己的电脑上同步操作。第一,字典的直观认识。在交互式环境中输入:scores={"李明":92,"王芳":85,"张强":78}教师解释:花括号包裹的就是一个字典。"李明"是键,92是值,一个键和一个值通过冒号连接,构成一个键值对。键值对之间用逗号分隔。可以把字典想象成一本词典:单词就是键,释义就是值,查词典时我们从不去翻第几页,而是直接按单词定位。第二,字典的三种创建方式。方式一,花括号直接创建,如上例。方式二,使用dict函数:scores=dict(李明=92,王芳=85)方式三,先创建空字典再逐个添加:info={}info["学号"]=2026001第三,字典键的规则讲解。键必须是不可变类型,可以使用字符串、数字、元组,不能使用列表等可变类型;键在同一个字典中必须唯一,如果出现重复的键,后面的值会覆盖前面的值。值没有限制,可以是任意类型,也允许重复。教师在控制台故意输入一个以列表作为键的字典,让学生观察报错的类型与提示信息,引导他们阅读错误信息“unhashabletype”,培养利用报错信息调试程序的习惯。(三)新知建构二:字典的基本操作(15分钟)第一,查操作。通过“字典名[键]”访问值:scores["王芳"]教师强调:访问不存在的键会抛出KeyError错误。更稳妥的做法是使用get方法:scores.get("","查无此人")get方法的第二个参数是默认值,当键不存在时返回默认值而不是报错。请学生思考:为什么实际项目代码中更偏爱get方法?通过讨论使学生理解健壮性设计的理念。第二,改与增。通过赋值语句实现:键存在则修改值,键不存在则新增键值对。scores["王芳"]=88scores[""]=90第三,删操作。使用del语句或pop方法:delscores["张强"]value=scores.pop("李明")教师对比两者的差异:del直接删除不返回结果,pop删除的同时返回被删的值,便于先记录后删除的场景。第四,遍历。这是本课的一个易错点,教师重点演示三种方式:fornameinscores:遍历的是键。forscoreinscores.values():遍历的是值。forname,scoreinscores.items():同时遍历键与值,这是处理成绩单数据最常用的方式。教师让学生完成书本配套代码的书写并运行,观察三种遍历的输出结果有何不同,并将观察结果填写到任务单上。第五,常用方法补充:keys方法获取所有键,len函数获取键值对个数,in运算符判断某个键是否存在。教师用一句话归纳字典的核心思想:以键寻值,直接定位,拒绝人海战术式的逐个比较。(四)任务驱动一:班级通讯录程序(10分钟)任务描述:编写一个简易班级通讯录程序,能够实现添加联系人、查找联系人电话、删除联系人、显示全部联系人四个功能。要求使用字典存储数据,通过菜单循环实现用户交互。学生独立编码,教师巡视指导。巡视中重点观察两类典型问题并现场点拨:一是菜单分支结构未形成循环,程序执行一次就结束;二是查找功能直接用方括号访问键导致键不存在时程序崩溃,引导学生改用get方法或先使用in判断。参考核心代码框架如下:contacts={}whileTrue:print("1添加2查找3删除4显示0退出")choice=input("请选择:")ifchoice=="1":name=input("姓名:")phone=input("电话:")contacts[name]=phoneelifchoice=="2":name=input("要查找的姓名:")print(contacts.get(name,"查无此人"))elifchoice=="0":break完成后请一位学生上台演示其程序,其他学生评价其功能完整性与代码规范性。教师点评时强调缩进层级与变量命名规范,例如用contacts而不是a作为字典名,让代码可读性更强。(五)新知建构三:集合的产生与运算(8分钟)情境衔接:教师出示一段学生社团报名表数据,其中有重复报名的记录,提出新问题:如何快速去掉重复姓名?列表去重要写两层循环,太繁琐。Python为此提供了集合。第一,集合的创建:s1={1,2,3,2,1}print(s1)输出结果自动去重为{1,2,3}。注意空集合必须用set()创建,空的花括号代表的是空字典而不是空集合。用set函数可以将列表转为集合来去重:names=["李雷","韩梅梅","李雷"]unique=set(names)第二,集合的三大特性:元素唯一、元素无序、元素必须不可变。因为无序,所以不能用索引访问,也不能切片,这是学生最容易出错之处。第三,集合运算,用Venn图辅助讲解:交集运算a&b,取两集合共有元素。并集运算a|b,取两集合所有元素。差集运算ab,取仅在a中出现的元素。场景:篮球队集合与合唱团集合,参加活动重叠的学生即交集,两项活动都算上的人名总表即并集。(六)任务驱动二:兴趣社团统计分析(7分钟)任务:已知编程社团名单与篮球社团名单分别存储在两个列表中,数据中存在重复报名。要求完成三项统计:分别输出两个社团的去重名单;找出同时参加两个社团的学生;找出只参加编程社团的学生。学生分小组协作完成,组内一人主写代码,一人负责测试数据设计。完成后小组互查。教师给出关键思路:先将列表转为集合去重,再分别运用交集与差集运算。学生会在十几行代码内完成任务,教师借此对比:如果用列表循环逐个判断,代码量至少翻三倍,运行速度在数据量大时更会大幅落后。让学生在亲手实践中体会“选对数据结构,事半功倍”。(七)课堂小结与提升(5分钟)教师引导学生共同绘制知识结构对比表并口述要点:列表有序可变,按索引访问;字典无序可按键直接寻值,键唯一且不可变;集合无序且元素唯一,擅长去重与交并差运算。三者各有所长,选择依据是“问题本身的数据特征”。教师布置分层作业:基础作业为完成字典与集合的填空与改错练习;进阶作业为升级通讯录程序,增加按姓名拼音首字母分类显示的功能;挑战作业为统计一篇英文短文中各单词出现的次数,提示学生利用“单词作键、次数作值”的字典累加模型,为下一节课做好铺垫。六、教学评价设计本课采用过程性评价与结果性评价相结合的方式。过程性评价依托学生任务单,包含课堂跟练完成情况、任务一与任务二的代码完成度与规范性两个维度,由教师巡视记录,占课程总评的百分之六十。结果性评价依托分层作业,从功能实现、代码规范、注释质量三方面由教师评分并给出书面反馈,占百分之四十。同时引导学生开展自评与互评,围绕“我是否会根据问题选择列表、字典或集合”这一核心问题进行反思,在任务单末尾用两句话写出自己的收获与困惑。七、板书设计主板书区:第六讲字典与集合一、字典{键:值,键:值}1.查scores["王芳"]scores.get("",默认值)2.增改scores[""]=903.删delscores["张强"]或pop方法4.遍历keysvaluesitems二、集合{1,2,3}特性:唯一、无序、不可变元素运算:交集&并集|差集三、选型思想:按问题特征选结构副板书区用于临时展示学生上台调试的代码片段与错误信息。八、教学反思本课以通讯录和社团统计两个贴近学生生活的任务为主线,把字典的键值映射与集合的去重运算嵌入真实问题之中,学生代入感强,课堂参与度高。通过列表遍历与字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年苏教版高三化学第10课化学实验技术测试题
- 2025-2026年天津市高三地理一轮复习人文地理学第二章测试卷
- 2025-2026年天津市人教版小学四年级道德与法治第4课测试题
- 护理质控存在问题原因分析及整改措施
- 2026年秋季男性健康知识科普讲座
- 妇科病证第一节至第三节
- 神经内科疾病康复护理新方法研究与实践
- 护理信息安全管理与护理质量
- 2026年江淹梦笔成语故事勤学反思主题教案
- 2026年束之高阁成语故事学以致用主题教案
- 职校新生入学安全教育指南
- 2025年统计学期末考试题库-统计软件STATA广义线性模型试题
- 欧泰科-吊挂软件使用教程
- 主题班会关于运动会主题班会
- 西方文化概论(第二版)课件 第六章 西方社会生活与习俗
- 2024年新北师大版一年级上册数学全册课件(2024年新教材)
- 基于PLC的点胶机的控制系统设计
- 法律顾问服务投标方案(完整技术标)
- 多维阅读第13级-A-Big-Mistake-大错特错
- 湖南高速铁路职业技术学院单招职业技能测试参考试题库(含答案)
- 大运河-我们身边的世界文化遗产课件
评论
0/150
提交评论