Appearance
第二教学文案:循环与列表——数据的“智能分析”
课题
用循环“遍历”列表——批量处理数据与统计分析
教学时间
2课时(90分钟)
课前准备
- 教师端:电脑(Python 3.10+)、投影仪、多媒体课件(含“流水线处理”动画:工人依次检查产品→类比循环遍历列表)、实物道具(标有数字的卡片若干,模拟“数据”)、白板(画表格记录手动计算过程)。
- 学生端:电脑(Python环境)、上节课的“植物生长数据列表”、计算器(对比手动计算与代码结果)、错题本(记录循环逻辑错误)。
- 教学素材:代码模板(for循环遍历列表示例)、“数据分析师”荣誉徽章、AI代码小助手(支持“计算平均分的代码”等查询)。
一、导入活动:从“手动处理”到“自动处理”(15分钟)
活动1:“手动算平均分”挑战——感受“重复操作”的繁琐
- 教师给出列表:
scores = [85, 92, 78, 90, 88],让学生手动计算平均分(总和÷个数)。 - 提问:“如果有50个数据,手动计算需要多久?容易出错吗?”引导发现“重复计算需要更高效的方法”。
活动2:“流水线工人”类比——理解循环逻辑
- 播放动画:流水线工人依次拿起产品检查(第1个→第2个→…→最后1个),每个产品的检查动作相同。
- 类比:
for循环就像“流水线”,依次取出列表中的每个数据,执行相同操作(如累加、打印):
“for 数据 in 列表:就像‘工人依次拿起每个产品’,缩进的代码块就是‘检查动作’”。
二、知识点讲解:循环遍历列表与数据统计(35分钟)
模块1:用for循环“遍历”列表——依次处理每个数据(15分钟)
核心语法:
python# 遍历列表:依次取出每个元素并打印 plant_heights = [5, 8, 12, 15] for height in plant_heights: # height是“临时变量”,代表当前取出的数据 print("当天高度:", height) # 对每个数据执行相同操作(打印)- 输出结果:
当天高度:5 当天高度:8 当天高度:12 当天高度:15
- 输出结果:
关键逻辑:
- 临时变量(如
height)可自定义名称(建议与数据含义相关,如score“分数”、age“年龄”); - 缩进的代码块(如
print())会对列表中的每个数据重复执行; - 遍历顺序:从第1个元素(索引0)到最后1个元素,与列表存储顺序一致。
- 临时变量(如
模块2:数据统计——用循环计算总和、平均分、最大值(20分钟)
场景1:计算总和与平均分(以成绩列表为例):
pythonscores = [85, 92, 78, 90, 88] total = 0 # 初始化总和为0(“空盘子”,用来装累加的分数) for score in scores: total = total + score # 累加每个分数(“往盘子里加菜”) average = total / len(scores) # len(scores)获取列表长度(数据个数) print("总分:", total) # 输出:总分:433 print("平均分:", average) # 输出:平均分:86.6- 重点:
len(列表名)可自动获取数据个数,避免手动数(尤其数据量大时)。
- 重点:
场景2:查找最大值(以植物高度为例):
pythonplant_heights = [5, 8, 12, 15] max_height = 0 # 初始化最大值为0(“基准线”) for height in plant_heights: if height > max_height: # 若当前高度超过基准线 max_height = height # 更新基准线为当前高度 print("最高高度:", max_height) # 输出:最高高度:15
三、练习题设计:分层任务+综合分析(25分钟)
基础任务(全员完成):“班级成绩分析器”
- 要求:用列表
class_scores = [75, 82, 90, 68, 95, 88]完成:- 用循环计算总分和平均分;
- 用循环找出最高分;
- 打印结果:“总分:XXX,平均分:XXX,最高分:XXX”。
进阶任务(选做):“植物生长趋势分析”
- 结合上节课的豆芽高度列表(如
bean_heights = [2, 4, 7, 10, 13, 16]),完成:- 计算每天的生长量(当天高度 - 前一天高度),用循环打印(如“第2天生长了2厘米”);
- 计算平均每天生长量(总生长量÷天数);
- 用一句话描述趋势(如“生长速度稳定,平均每天长3厘米”)。
挑战任务(拓展):“异常数据排查”
- 列表
temp = [22, 25, 30, 100, 26](某周气温,单位℃),用循环找出“异常值”(超过40℃)并打印提示:“第X天温度异常:100℃”。
教师支持:
- AI代码小助手生成“计算平均分”的分步代码(带注释),学生可对比自己的代码找差异;
- 提供“循环逻辑流程图”(用方框和箭头展示“初始化→循环累加→计算结果”步骤)。
四、讲解与互评:从“代码”到“思维”(10分钟)
典型案例分析:
- 展示1份正确代码:点评
len()的使用(避免手动输入个数)、临时变量命名(如total比a更清晰); - 展示1份错误代码(如忘记初始化
total=0导致结果错误):引导学生用“代入法”排查(手动模拟循环第1步、第2步的变量值)。
- 展示1份正确代码:点评
小组汇报:进阶任务小组分享“植物生长分析结果”,对比代码计算与手动计算的一致性,讨论“如果数据有100个,代码的优势是什么?”。
五、总结与作业(5分钟)
课堂总结:
for 变量 in 列表:可依次处理每个数据,避免重复代码;- 数据统计三步骤:初始化变量(如
total=0)→循环累加/比较→计算结果(如平均分、最大值); len(列表名)获取数据个数,是批量处理的“好帮手”。
课后作业:
- 用家里的水果数量列表(如
fruits = [5, 3, 2, 4]),计算水果总数和平均每种水果的数量; - 观察一周的天气温度,用列表存储并找出最高温、最低温,下节课分享分析结论。
教学理论支撑:
- 认知负荷理论:通过“流水线”动画降低循环逻辑的认知难度,将复杂的“批量处理”分解为“初始化→遍历→计算”三步骤,符合“小步骤”学习原则。
- 自我决定理论:进阶任务结合学生自己记录的科学实验数据,增强任务自主性;挑战任务“异常数据排查”满足学生的胜任感需求(解决实际问题)。
- STEAM教育融合:结合科学(数据趋势分析)、数学(统计计算)、工程(流程化思维),让循环成为数据科学的基础工具,体现“技术服务于问题解决”的STEAM核心。