Skip to content

第一教学文案:列表——数据的“收纳盒”与基础操作

课题

列表:给数据找个“家”——认识列表与基础操作

教学时间

2课时(90分钟)

课前准备

  • 教师端:电脑(Python 3.10+)、投影仪、多媒体课件(含“收纳盒”类比动画)、实物道具(分层收纳盒3个,分别贴“班级成绩”“植物高度”“兴趣爱好”标签,内装对应纸条)、数据卡片(写有具体数值,如“85分”“12厘米”)。
  • 学生端:电脑(Python环境)、笔记本、科学实验记录本(若有植物生长数据可带入)、彩色笔(标注列表结构)。
  • 教学素材:代码模板(列表创建、访问示例)、“数据收纳小能手”奖励贴纸、AI代码小助手(支持“列表怎么添加元素”等提问)。

一、导入活动:从“实物收纳”到“数据收纳”(15分钟)

活动1:“收纳盒分类”游戏——理解“同类数据集中存储”

  • 教师展示3个收纳盒:“班级成绩盒只能放分数纸条,植物高度盒只能放厘米数——生活中我们用收纳盒整理同类物品,编程中用什么整理同类数据呢?”
  • 学生分组操作:将10张数据卡片(含成绩、身高、爱好)放入对应收纳盒,讨论“为什么要分类收纳”(方便查找、避免混乱)。

活动2:“混乱的数据”情境——引出列表需求

  • 教师在黑板写:“小明85分,小红92分,小刚78分”,提问:“如果要计算这3人的平均分,需要反复抄写名字和分数,麻烦吗?”
  • 类比:“如果把分数集中放在一个‘盒子’里,直接拿出来计算,会更高效——这个‘盒子’就是Python中的‘列表’”。

二、知识点讲解:认识列表与基础操作(35分钟)

模块1:列表是什么?——数据的“有序收纳盒”(10分钟)

  • 核心概念:列表(list)是Python中存储多个同类数据的“容器”,用方括号[]表示,数据之间用逗号分隔,例如:
    python
    # 存储班级3名同学的数学成绩
    math_scores = [85, 92, 78]
    # 存储4天的植物生长高度(单位:厘米)
    plant_heights = [5, 8, 12, 15]
  • 关键特征
    1. 有序性:数据按顺序排列,位置固定(如同收纳盒里的物品按顺序摆放);
    2. 可变性:可以随时添加、删除数据(如同收纳盒可以增减物品);
    3. 索引访问:用列表名[索引]获取数据,索引从0开始(重点强调:第1个数据是[0],第2个是[1]):
      python
      print(plant_heights[0])  # 输出第1天高度:5
      print(math_scores[1])    # 输出第2名同学成绩:92

模块2:列表基础操作——“收纳盒”的增删查改(25分钟)

  • 操作1:创建列表与访问元素(结合代码演示):

    python
    # 步骤1:创建列表(给收纳盒“装东西”)
    hobbies = ["阅读", "编程", "篮球"]  # 字符串列表(爱好)
    ages = [12, 13, 11, 13]             # 数字列表(年龄)
    
    # 步骤2:访问单个元素(从收纳盒“取东西”)
    print("第1个爱好:", hobbies[0])  # 输出:第1个爱好:阅读
    print("最大的年龄:", ages[3])     # 输出:最大的年龄:13
  • 操作2:添加元素——给“收纳盒”加东西append()方法):

    python
    # 给hobbies列表添加新爱好“绘画”
    hobbies.append("绘画")
    print(hobbies)  # 输出:["阅读", "编程", "篮球", "绘画"]
    • 比喻:append()就像“给收纳盒加一层隔板,放入新物品”,只能加在末尾。
  • 操作3:修改元素——替换“收纳盒”里的东西

    python
    # 修正ages列表中第3个数据(索引2):11→12
    ages[2] = 12
    print(ages)  # 输出:[12, 13, 12, 13]
  • 常见错误提醒

    1. 索引越界:ages[4]会报错(因为列表只有4个元素,索引最大为3);
    2. 忘记逗号:[12 13 14]会报错,需用逗号分隔数据。

三、练习题设计:分层任务+数据实践(25分钟)

基础任务(全员完成):“我的数据收纳盒”

  • 要求:创建2个列表(如my_scores存储3门学科成绩,my_friends存储3个朋友名字),完成:
    1. 访问第2个元素并打印;
    2. append()各添加1个新数据;
    3. 修改1个已有数据(如修正成绩)。
  • 示例框架:
    python
    # 1. 创建列表
    my_scores = [90, 88, 95]  # 语文、数学、英语成绩
    my_friends = ["小林", "小雨", "小天"]
    
    # 2. 访问第2个元素(索引1)
    print("数学成绩:", my_scores[1])
    
    # 3. 添加新数据
    my_scores.append(92)  # 加入科学成绩
    my_friends.append("小阳")
    
    # 4. 修改数据(假设语文成绩应为91)
    my_scores[0] = 91
    print("修改后成绩:", my_scores)

进阶任务(选做):“科学实验数据整理”

  • 结合科学课植物生长实验,用列表存储5天的豆芽高度(如bean_heights = [2, 4, 7, 10, 13]),完成:
    1. 打印第3天和第5天的高度;
    2. 添加第6天的预测高度(如16厘米);
    3. 用文字描述“从数据中发现的生长规律”(如“每天大约长高3厘米”)。

教师支持:

  • 打开AI代码小助手,学生可提问“为什么索引从0开始?”“怎么添加多个元素?”,AI用生活化语言解释(如“就像书架第1层叫0号层,方便计算机计数”)。

四、讲解与互评:从“操作”到“理解”(10分钟)

  1. 学生展示:选2名学生投屏代码,讲解“你的列表存储了什么数据?”“修改元素时遇到了什么问题?”。
    • 点评重点:索引是否正确(纠正“第1个元素用[1]”的错误)、append()是否正确添加到末尾。
  2. 小组互评:每组检查1份同伴作业,用“√”标注正确操作,用“?”标注疑问处,教师汇总共性问题(如索引越界)并讲解。

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

课堂总结:

  • 列表是存储多个同类数据的“收纳盒”,格式:列表名 = [数据1, 数据2, ...]
  • 核心操作:用[索引]访问/修改元素,用append()添加元素;
  • 索引从0开始(第1个数据是[0])。

课后作业:

  1. 用列表记录家里3种水果的数量(如fruits = [5, 3, 2],对应苹果、香蕉、橙子),并尝试添加1种新水果;
  2. 观察科学课实验数据,思考“如果数据很多,怎么快速计算平均值?”(为下节课循环处理列表铺垫)。

教学理论支撑:

  1. 皮亚杰具体运算阶段理论:通过“收纳盒”实物类比,将抽象的“列表”概念转化为学生熟悉的具体事物,符合11-15岁少年“具象→抽象”的思维过渡特点。
  2. 维果茨基最近发展区:基础任务确保全员掌握列表创建与访问(现有水平),进阶任务结合科学实验数据(潜在发展区),AI助手作为“脚手架”帮助突破难点。
  3. STEAM教育融合:结合科学(实验数据整理)、数学(数据有序性)、技术(Python工具),让列表成为跨学科数据处理的载体。