首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python教学小贴士,range函数和跑圈类比,学生:这样就明白了

今天继续上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的教学,欢迎你和我一起来探索。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200603A0RRUY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券