第6课 字符串处理(下)——分割与统计 教学设计+html素材 小学信息科技Python程序设计

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

第6课 字符串处理(下)——分割与统计 教学设计+html素材 小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
小学四—五年级 Python 程序设计(第一学期)
教 学 设 计
第6课 字符串处理(下)——分割与统计
课  题 第6课 字符串处理(下)——分割与统计
课  时 第 6 课时(40 分钟)
课  型 新授 + 综合应用
教学环境 机房(Windows + Python 3.x + IDLE/Thonny)
授课班级 四年级、五年级
一、学情分析
上节课学生学会了逐字符遍历,但当面对「一句话里有几个单词」这类问题时,逐字符就太麻烦了。本课引入「按空格切分」的思路,让学生第一次体验「把字符串变成一串小块」的便利。
难点在于:
1.split() 的结果是什么——它返回的是一个列表(本课只要求会用,列表的系统学习安排在第 7 课);
2.count() 与 max(..., key=len) 的使用方法;
3.「统计出现次数最多的单词」这一算法思路(打擂台)。
二、教学目标
(一)知识目标
1.掌握 split() 按空格切分字符串的用法。
2.掌握 join() 把多个词合成一句话的用法。
3.会用 len()、count()、max(..., key=len) 处理切分后的结果。
(二)能力目标
1.能编写「统计单词数、找最长单词、统计词频」的文本分析小程序。
2.初步掌握「打擂台」求最值的算法思路。
(三)素养目标
1.感受文本数据分析的实际价值(如统计作文词数)。
2.在对比中体会「逐字符」与「按词」两种处理粒度的差别。
三、教学重点与难点
项 目 内 容
教学重点 split() 与 join() 的用法;len / count 的应用。
教学难点 打擂台算法的理解;max(words, key=len) 中 key 的含义。
四、教学准备
· 教师:课件、一段英文短文(用于课堂统计)、示例代码 4 个。
· 学生:练习卷。
· 素材:1单词统计.py、2合并单词.py、3.按空格分开.py、4统计最多.py。
五、教学过程(共 40 分钟)
环节一 承接导入:从「字符」到「单词」(5 分钟)
提问:「上节课我们数的是字符,那如果我输入 I love Python very much,一共有几个单词?」
学生尝试用逐字符方法 → 发现用空格计数很麻烦、且容易出错。
引出:Python 有一招可以直接按空格切开——split()。
环节二 新授:split 与 join(10 分钟)
演示 1单词统计.py。
text = input("请输入一句话:")
words = text.split()
print("单词数:", len(words))
print("最长单词:", max(words, key=len))
现场演示(教师机):输入同一句话,让屏幕打印 words 看看它长什么样。
输入: "I love Python"
↓ split()
得到: ["I", "love", "Python"] ← 一个「装词的盒子」
↓ len()
3
解释三个函数:split() 默认按空格(含连续空格)切分;len(words) 问「盒子里有几个词」;max(words, key=len) 中 key=len 意思是「比大小的依据是长度」,所以找的是最长的词。
演示 2合并单词.py——反向操作。
words = ["I", "love", "Python"]
print(" ".join(words))
join 是 split 的逆操作:把一串词用空格重新拼成一句话。
split: 一句话 ──> 一串词
join: 一串词 ──> 一句话
环节三 应用:统计与打擂台(12 分钟)
演示 3.按空格分开.py。
text = input()
words = text.split()
target = input("要统计的单词:")
print(words.count(target))
count() 直接数出某个词出现了几次,非常直观。
演示 4统计最多.py——引入「打擂台」算法。
text = input()
words = text.split()
best = words[0]
for w in words:
if words.count(w) > words.count(best):
best = w
print(best, words.count(best))
用生活比喻讲解(板书+口述):打擂台——第一个人先站在台上当擂主(best = words[0])。后面的每一个词都上台挑战:如果它的出现次数比擂主多,它就当新擂主(best = w);否则下台。最后站在台上的就是出现最多的词。
手动模拟:以 "a b a c a" 为例,逐步板书擂主的更替过程。
挑战者 出现次数 当前擂主 是否换人
a(初始) 3 a —
b 1 a 否
a 3 a 否(打平不换)
c 1 a 否
结论:a 出现 3 次,是冠军。
环节四 综合实践(10 分钟)
任务:请统计一段英文短文中:① 一共有几个单词?② 最长的单词是什么?③ the 出现了几次?
学生分三组分别完成三小问,然后合并成一个小程序(提示:三小问都需要先 split())。
环节五 总结与作业(3 分钟)
一句话总结:处理整句话时,先用 split() 把它切成词,再对词做统计;求最多/最长用「打擂台」。
预告:split() 切出来的这串东西,下节课我们就会认识它的真名——列表。
六、板书设计
第6课 字符串处理(下)
text.split() 按空格切成词
" ".join(words) 把词拼回句子
len(words) 有几个词
words.count(x) x 出现几次
max(words, key=len) 最长的词
打擂台:best = words[0]
for w in words:
if count(w) > count(best): best = w
七、分层作业
★ 完成练习卷第一、二、三、四题(填空、连线、手算模拟、补全代码)。
★★ 完成练习卷第五题:统计单词数与最长单词;查询某个单词的出现次数。
★★★ 完成练习卷第六题:统计出现次数最多的单词(并列时输出最先出现的)。
八、教学反思要点
1.学生能否说清 split() 之后得到的东西长什么样?
2.「打擂台」算法是否偏抽象?下次是否可用体育比赛等更贴近的类比?
3.是否应在下节课(列表)开头回顾 split() 的结果就是一个列表,形成自然过渡?
课后记(教师填写):
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源预览