第14课 字典与集合——用名字找东西 教学设计+html素材 小学信息科技Python程序设计

资源下载
  1. 二一教育资源

第14课 字典与集合——用名字找东西 教学设计+html素材 小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
小学四—五年级 Python 程序设计(第一学期)
教 学 设 计
第14课 字典与集合——用名字找东西
课  题 第14课 字典与集合——用名字找东西
课  时 第 14 课时(40 分钟)
课  型 新授 + 竞赛衔接
教学环境 机房(Windows + Python 3.x + IDLE/Thonny)
授课班级 四年级、五年级
一、学情分析
学生已经熟练使用列表,但列表有一个明显短板:想找「张三的成绩」,必须记住他在第几个,或者写循环挨个比对。本课带来的字典,正好解决这个问题——用「名字」直接找到「东西」。
学生的难点有三处:
1.不理解「键值对」这一新结构,容易和列表混淆;
2.不知道字典的键具有唯一性,重复赋值会覆盖而不是新增;
3.对 in 判断、get() 取值的写法不熟悉,容易因键不存在而报错。
本课用「查词典」「班级花名册」「通讯录」三个生活例子建立直觉,再用词频统计这一竞赛高频题型收束,与第 6 课的打擂台形成对照。
二、教学目标
(一)知识目标
1.认识字典,掌握用 {键: 值} 创建字典与 d[键] 取值、赋值。
2.掌握 in 判断键是否存在、get() 带默认值取值、keys()/values()/items() 遍历。
3.认识集合 set,掌握用集合去重与求交集、并集。
(二)能力目标
1.能用字典完成词频统计、成绩查询等实际任务。
2.能根据需要选择列表或字典作为数据容器。
3.能用集合完成去重与共同元素判断。
(三)素养目标
1.体会「选择合适的数据结构能让程序更简洁」这一设计思想。
2.感受现实世界的「对应关系」(姓名—电话、单词—次数)如何映射到程序中。
三、教学重点与难点
项 目 内 容
教学重点 字典的创建与键值访问;in 判断与 get() 的用法;用字典做词频统计;集合去重。
教学难点 字典键的唯一性(重复赋值是覆盖不是新增);词频统计中「键存在则加 1、不存在则新建」的判断;字典与列表的取舍。
四、教学准备
· 教师:课件、花名册示意图、字典与列表对照表。
· 学生:练习卷、上机账号。
· 素材:本课 5 个程序文件 1字典基础.py ~ 5集合去重.py。
五、教学过程(共 40 分钟)
环节一 情境导入:找张三的成绩(5 分钟)
出示用列表存成绩的写法:names = ["小明", "小红", "张三"],scores = [88, 92, 75]。提问:「想查张三的成绩,怎么查?」
学生答:先循环找张三在第几个,再取对应位置的分数。——教师追问:「麻烦吗?如果名单有 100 个人呢?」
引出:能不能直接把名字和分数绑在一起,像查词典一样「按名字直接翻到那一页」?这就是本课的主角——字典。
【设计意图】先用列表的笨拙反衬字典的便利,让学生理解「数据结构是可以选择的」,而不是只有列表一种。
环节二 新授:认识字典(12 分钟)
演示 1字典基础.py。
score = {"小明": 88, "小红": 92, "张三": 75}
print(score["小红"]) # 直接用名字取出分数 → 92
score["李四"] = 60 # 新增一个键值对
score["小明"] = 90 # 已存在则覆盖旧值
print(score)
讲解结构(板书对照):
列表:靠位置找 a[0] → 第 0 个
字典:靠名字找 d["小明"] → 小明对应的值
score = { "小明": 88 , "小红": 92 }
└键─┘ └值┘ └键─┘ └值┘
键必须是唯一的,值可以重复
三个要点:
(1)键(key)和值(value)用冒号连起来,一对一对放进大括号里。
(2)键是唯一的。score["小明"] = 90 不会新增,而是把原来的 88 改成了 90——这叫覆盖。
(3)字典是「无序」的,不能像列表那样用下标 d[0] 取第几个,只能靠键取。
常见报错演示:直接访问不存在的键会报 KeyError。
# print(score["王五"]) → KeyError: '王五'
print(score.get("王五", 0)) # 安全取法:不存在时返回默认值 0
环节三 新授:遍历字典与 in 判断(10 分钟)
演示 2字典遍历.py。
score = {"小明": 88, "小红": 92, "张三": 75}
for name in score: # 默认遍历的是「键」
print(name, "得了", score[name], "分")
for name, s in score.items(): # 同时拿到键和值,最常用
print(f"{name}:{s} 分")
print("小明" in score) # True
print("王五" in score) # False
三种遍历方式小结:
写 法 拿到什么 适用场景
for k in d 键 只需要键
for v in d.values() 值 只需要值
for k, v in d.items() 键和值 两样都要(最常用)
重点强调 items() 的用法:一次循环同时得到名字和分数,比「先拿到键、再用 d[键] 去取值」更清爽。
「in 判断」的实用价值:先用 in 探一下键在不在,再用 d[键] 取值,就不会报 KeyError。这是词频统计的关键技术。
环节四 新授:词频统计(8 分钟)
演示 3词频统计字典.py,把第 6 课的打擂台用字典重写。
text = input("请输入一句英文:")
words = text.split()
count = {}
for w in words:/n if w in count: # 已经见过这个词
count[w] += 1
else: # 第一次见到
count[w] = 1
for w, c in count.items():
print(f"{w}:{c} 次")
对照第 6 课的打擂台写法,让学生比较两种思路:
方 法 核心思路 优 点 缺 点
打擂台 逐个词统计它出现几次,谁多谁当擂主 不用新语法 重复统计,慢
字典 边看边记账,见一次加一笔 一遍扫完,快且清晰 需要理解键值对
关键句式(要求背下来):
if 键 in 字典:
字典[键] += 1
else:/n 字典[键] = 1
这就是「记账」的标准写法:见过就加一笔,没见过就开新账。
进阶:如果还要找出出现最多的词,可以用 max(count, key=count.get),现场演示一次,让学得快的学生有收获。
环节五 认识集合与总结(5 分钟)
演示 5集合去重.py。
a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
s = set(a) # 集合:自动去掉重复
print(s)
print(len(a), "个数里有", len(s), "个不同的值")
x = {1, 2, 3}
y = {2, 3, 4}
print(x & y) # 交集:都有的
print(x | y) # 并集:合起来所有的
讲解:集合最大的特点有两个——「自动去重」和「无序」。凡是题目里出现「有多少个不同的」「重复的删掉」这类字眼,第一时间就该想到集合。
也可以一句 set(a) 就把去重做完,比写循环判断快得多。
本课一句话总结:列表靠位置找,字典靠名字找;要统计次数就用字典边看边记账(if 键 in 字典 ……),要去重就用集合。选对容器,程序能短一半。
六、板书设计
第14课 字典与集合
字典:{键: 值} d[键] 取值
键唯一,重复赋值是覆盖
没有的键直接取 → KeyError
安全取法:d.get(键, 默认值)
遍历:for k, v in d.items()
判断:"小明" in d
词频记账:
if 键 in 字典: 字典[键] += 1
else: 字典[键] = 1
集合 set:自动去重、无序
交集 & 并集 |
七、分层作业
★ 完成练习卷第一、二、三题(填空、判断、手算模拟)。
★★ 完成练习卷第四题:建立班级成绩字典,输入姓名查询成绩(查不到时给出提示)。
★★★ 完成练习卷第五题:输入一句英文,用字典统计每个单词出现的次数,并按出现次数从多到少输出。
八、教学反思要点
1.学生是否理解「字典靠名字找、列表靠位置找」的区别?是否需要再做一次对照演示?
2.「if 键 in 字典 则 +1,否则 =1」这个句式全班是否都能默写?
3.KeyError 的演示是否让学生建立了「先用 in 探一探」的习惯?
4.集合部分是否讲得过快?是否需要补一道「统计不同数字个数」的即时练习?
课后记(教师填写):
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源预览