资源简介 / 让教学更有效 精品试卷 | 信息小学四—五年级 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 = wprint(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) 展开更多...... 收起↑ 资源预览