今天继续上Python第7课:循环结构for语句学习,重点是要求学生掌握range()函数的3种使用方法,大陈在前一篇的第7课教学设计中,只是简要的描述了教学过程,经过3个班的教学,大陈感觉已经找到了一种比较合适、有效的教学方式,现实录如下,供你参考,并请你指教。
图1 小贴士
一、导入
我先从打印输出科技读书节的作品标签入手,从打印输出“第1号作品”到“第2、3...100号作品”,和学生一起分析,导出新的需求:需要实现重复、循环的命令。
我举例说:你们上体育课的时候,体育老师发布的热身指令:跑2圈,跑是要重复执行的动作,2圈是重复执行的数量。那我们这里,打印输出作品标签就是要执行的动作,标签数量就是我们需要重复打印输出的次数。那谁来执行教师的角色,让打印输出循环呢?那就是for语句。
二、了解for语句语法结构
接着介绍for语句的语法结构:
for 变量 in range( ): 循环程序块
我会强调各关键词之间用“空格”隔开,最后用“冒号”结尾,并带读range单词。并再次把他和跑圈作类比,for语句相当于发布热身指令的教师,range函数括号里就是用来表示要跑步的圈数(循环次数),循环程序块相当于你的跑步动作。
这样就很自然的把学生的注意力集中到range()函数上了,那括号里到底可以填入什么样的参数呢?我会分成3种情况来引导学生从循环次数、怎么数出循环的次数、数的时候是怎么数的(步长)来分析。
三、range()函数的3种情形
第一种情况是,括号内只填写1个数字。例如range(9),那么表示要跑9圈(循环9次),你跑步的时候是不是会在心里默数:1、2、3...,那我们for循环也要清楚知道9次是从几数到几(0-8),数的时候每次增加1。
我会板书:
range(9)
1个数字:9次,0-8,+1
第二种情况是,括号里填写2个数字。例如range(1,9),那么表示跑完一圈就从1数起,每跑一圈就+1,直到数到8,一共跑了多少圈?(8圈),那就要循环8次。
我会板书:
range(1,9)
2个数字:8次,1-8,+1
第三种情况是,括号里填写3个数字。例如range(1,9,3),那么表示跑完一圈的时候从1数起,每跑一圈加3(谎报军情),那一共可以数几个数字呢?大家一起来数一数(1,4,7),还能不能继续数?不能,继续数就超过9了,那一共循环几次呢?(数几个数就循环几次)。
我会板书:
range(1,9,3)
3个数字:3次,1、4、7,+3
最终黑板上的板书就是:
range(1,9,3)
1个数字:9次,0-8,+1
2个数字:8次,1-8,+1
3个数字:3次,1、4、7,+3
range()函数括号里的内容是由91,91,9,3动态变化生成的。
四、巩固练习
接下来我趁热打铁,要求学生口述以下range()函数的循环次数、循环数字、步长,这样来增强学生对于range()函数的理解。
range(6)、range(13)、range(2,11)、range(2,11,2)
最后就是看程序写结果,学生调试运行以下3个现成的程序,观察程序运行结果,确认range()函数在for语句中的作用,并跟着大陈完成打印输出1-100的作品标签程序,确认完毕之后,再开始实战——独立完成练习题。
例1:
for x in range(8):
print(x)
例2:
for x in range(1,8):
print(x)
例3:
for x in range(1,8,2):
print(x)
例4:打印输出1-100的作品标签程序(学生仿写)
for x in range(1,101):
print("第",x,"号作品")
练习题:
图2 练习题
以上是Python入门第7课的前半部分教学实录,从教学实际来看,这样上下来,85-90%的学生可以完成本节课的任务,相比大陈前面6节课的上课模式,知识掌握程度要好很多。
也就是说一节程序设计教学课,对于学情的把握是相当重要的,学生能接受到什么程度,学多少内容,要不要安排当堂练习,这些都很重要。
大陈将继续探索Python在初中的教学,如果你也正好在探索Python的教学,欢迎你和我一起来探索。
领取专属 10元无门槛券
私享最新 技术干货