Skip to content

第二教学文案:循环与列表——数据的“智能分析”

课题

用循环“遍历”列表——批量处理数据与统计分析

教学时间

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
  • 关键逻辑

    1. 临时变量(如height)可自定义名称(建议与数据含义相关,如score“分数”、age“年龄”);
    2. 缩进的代码块(如print())会对列表中的每个数据重复执行;
    3. 遍历顺序:从第1个元素(索引0)到最后1个元素,与列表存储顺序一致。

模块2:数据统计——用循环计算总和、平均分、最大值(20分钟)

  • 场景1:计算总和与平均分(以成绩列表为例):

    python
    scores = [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:查找最大值(以植物高度为例):

    python
    plant_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]完成:
    1. 用循环计算总分和平均分;
    2. 用循环找出最高分;
    3. 打印结果:“总分:XXX,平均分:XXX,最高分:XXX”。

进阶任务(选做):“植物生长趋势分析”

  • 结合上节课的豆芽高度列表(如bean_heights = [2, 4, 7, 10, 13, 16]),完成:
    1. 计算每天的生长量(当天高度 - 前一天高度),用循环打印(如“第2天生长了2厘米”);
    2. 计算平均每天生长量(总生长量÷天数);
    3. 用一句话描述趋势(如“生长速度稳定,平均每天长3厘米”)。

挑战任务(拓展):“异常数据排查”

  • 列表temp = [22, 25, 30, 100, 26](某周气温,单位℃),用循环找出“异常值”(超过40℃)并打印提示:“第X天温度异常:100℃”。

教师支持:

  • AI代码小助手生成“计算平均分”的分步代码(带注释),学生可对比自己的代码找差异;
  • 提供“循环逻辑流程图”(用方框和箭头展示“初始化→循环累加→计算结果”步骤)。

四、讲解与互评:从“代码”到“思维”(10分钟)

  1. 典型案例分析

    • 展示1份正确代码:点评len()的使用(避免手动输入个数)、临时变量命名(如totala更清晰);
    • 展示1份错误代码(如忘记初始化total=0导致结果错误):引导学生用“代入法”排查(手动模拟循环第1步、第2步的变量值)。
  2. 小组汇报:进阶任务小组分享“植物生长分析结果”,对比代码计算与手动计算的一致性,讨论“如果数据有100个,代码的优势是什么?”。

五、总结与作业(5分钟)

课堂总结:

  • for 变量 in 列表: 可依次处理每个数据,避免重复代码;
  • 数据统计三步骤:初始化变量(如total=0)→循环累加/比较→计算结果(如平均分、最大值);
  • len(列表名)获取数据个数,是批量处理的“好帮手”。

课后作业:

  1. 用家里的水果数量列表(如fruits = [5, 3, 2, 4]),计算水果总数和平均每种水果的数量;
  2. 观察一周的天气温度,用列表存储并找出最高温、最低温,下节课分享分析结论。

教学理论支撑:

  1. 认知负荷理论:通过“流水线”动画降低循环逻辑的认知难度,将复杂的“批量处理”分解为“初始化→遍历→计算”三步骤,符合“小步骤”学习原则。
  2. 自我决定理论:进阶任务结合学生自己记录的科学实验数据,增强任务自主性;挑战任务“异常数据排查”满足学生的胜任感需求(解决实际问题)。
  3. STEAM教育融合:结合科学(数据趋势分析)、数学(统计计算)、工程(流程化思维),让循环成为数据科学的基础工具,体现“技术服务于问题解决”的STEAM核心。