教案:有规律的数列与for循环

教案基本信息

课程名称:Python编程第七课 有规律的数列与for循环

授课对象:编程零基础初学者
课时安排:90分钟
教学形式:理论讲解 + 实践操作

一、 教学目标

知识与技能:

  1. 数学知识: 理解数列的概念(如自然数列、奇数列、偶数列),并能找出其项与序号之间的关系(通项公式)。
  2. 编程知识:理解for循环的语法和执行流程,掌握其遍历序列的功能。掌握range()函数的基本用法(1-3个参数),能生成不同的整数序列。能够将数列的数学规律转化为range()函数的参数,并用for循环输出。

过程与方法:

  1. 经历从观察数列规律到使用for循环和range()函数实现的过程,培养抽象和建模能力。
  2. 通过“猜想-验证-应用”的模式,探索range()函数不同参数的用法。

情感态度与价值观:

  1. 体会循环结构在处理重复性任务时的强大威力,感受编程的效率与美感。
  2. 培养通过逻辑分析解决有序问题的兴趣。

二、 教学重点与难点

教学重点: for循环与range()函数结合生成数列的方法。

教学难点: 理解range(start, stop, step)三个参数的含义(特别是stop是不包含的);将数列的数学规律准确地映射到range()的参数上。

三、 教学准备

教师: 安装Python环境的电脑、投影设备、教学课件。

学生: 电脑已安装Python环境。

四、 教学过程

(一) 情景导入:从重复劳动到循环(5分钟)

教师活动:

  1. 提出问题:“如果想在屏幕上打印前5个自然数,你会怎么写代码?”
  2. 学生可能会写出:print(1); print(2); print(3); print(4); print(5)。
  3. 继续追问:“如果要打印前100个呢?这样写有什么问题?”(繁琐、易错、难以修改)
  4. 引出主题:“编程的核心价值之一是让机器自动化地处理重复任务。
  5. 今天我们就学习一个强大的工具——for循环,让它来帮我们轻松搞定这类问题。”

设计意图: 创设认知冲突,让学生切身感受到循环结构的必要性,激发学习动机。

(二) 新知探究:for循环与range()函数(20分钟)

1. for循环初体验

基本语法(板书):

python

for 变量 in 序列:

    # 循环体(需要重复执行的语句)

执行流程比喻: 就像一个老师拿着花名册点名,变量就是当前被点到的学生的名字,序列就是花名册。循环体就是对每个学生执行的操作(如答“到”)。

示例1:遍历字符串

python

for char in “Hello”:

    print(char)

演示并解释:变量char依次被赋值为’H’,’e’,’l’,’l’,’o’,并分别打印。

2. 数列的发动机range()函数

教师讲解: 我们经常需要数字序列,range()函数就是专门用来生成整数序列的。

range()的三种用法(核心内容,逐一讲解并演示):

用法一:range(stop) – 生成从0开始,到stop-1结束的序列。

python

# 生成序列:0, 1, 2, 3, 4

for i in range(5):

    print(i, end=’ ‘) # 使用end=’ ‘让输出不换行

# 输出:0 1 2 3 4

关键强调: range(5)不包含5!这是最容易出错的地方。

用法二:range(start, stop) – 生成从start开始,到stop-1结束的序列。

python

# 生成序列:2, 3, 4, 5, 6, 7, 8, 9

for i in range(2, 10):

    print(i, end=’ ‘)

# 输出:2 3 4 5 6 7 8 9

用法三:range(start, stop, step) – 生成从start开始,到stop-1结束,步长为step的序列。

python

# 生成序列:1, 3, 5, 7, 9 (1开始,步长为2)

for i in range(1, 10, 2):

    print(i, end=’ ‘)

# 输出:1 3 5 7 9

# 生成递减序列:5, 4, 3, 2, 1

for i in range(5, 0, -1):

    print(i, end=’ ‘)

# 输出:5 4 3 2 1

(三) 范例讲解:生成特定数列(10分钟)

任务: 使用for循环和range()输出前N个自然数、偶数、奇数。

教师引导分析:

  1. N个自然数: 通常指1到N。所以start=1, stop=N+1(因为不包含)。

python

n = int(input(“请输入N: “))

print(“前”, n, “个自然数是:”)

for i in range(1, n+1): # 注意:n+1

    print(i, end=’ ‘)

2.N个正偶数: 偶数的规律是2, 4, 6, …,通项是2*i。我们可以让i从1到N,然后输出2*i。更直接的方法是:start=2, stop=2*N+1, step=2。

python

n = int(input(“请输入N: “))

print(“前”, n, “个正偶数是:”)

for i in range(2, 2*n+1, 2): # 2开始,步长2

    print(i, end=’ ‘)

3.N个正奇数: 奇数的规律是1, 3, 5, …。使用range(1, 2*n, 2)。

python

n = int(input(“请输入N: “))

print(“前”, n, “个正奇数是:”)

for i in range(1, 2*n, 2): # 1开始,步长2

    print(i, end=’ ‘)

(四) 课堂练习与巩固(10分钟)

练习1:倒计时程序

任务:编写一个程序,输入一个正整数,然后从该数开始倒计时到0,最后输出”发射!”。

提示:使用range(start, stop, -1)。

参考代码:

python

num = int(input(“请输入一个正整数: “))

for i in range(num, -1, -1): # 停止值设为-1,才能包含0

    print(i)

print(“发射!”)

练习2:数列求和

任务: 计算1+2+3+…+100的和。

提示: 需要在循环外定义一个累加变量(如total = 0),在循环内不断将数字加到total上。

参考代码:

python

total = 0 # 初始化累加器

for i in range(1, 101):

    total = total + i # 等价于 total += i

print(“1到100的和是:”, total)

(五) 课堂小结与作业(5分钟)

小结:

  1. for循环:用于遍历序列,自动处理重复任务。
  2. range()函数:生成整数序列的利器。

range(stop) -> [0, stop)

range(start, stop) -> [start, stop)

range(start, stop, step) -> 按步长生成序列

3. 核心技巧:将数列的规律(起点、终点、步长)转化为range()的三个参数。

作业:

基础题: 编写程序,输出100以内(包括100)所有能被7整除的数。

挑战题: 编写程序,输出斐波那契数列(Fibonacci sequence)的前N项。斐波那契数列:1, 1, 2, 3, 5, 8, 13…(从第三项开始,每一项等于前两项之和)。

五、 板书设计

主标题: 有规律的数列与for循环

for循环结构:

python

for 变量 in 序列:

    重复执行的代码块

range()函数详解:

range(5) -> 0,1,2,3,4

range(2,6) -> 2,3,4,5

range(1,10,2) -> 1,3,5,7,9

range(5,0,-1) -> 5,4,3,2,1

范例:

python

# N个自然数

for i in range(1, N+1)

# N个偶数

for i in range(2, 2*N+1, 2)

您可能还喜欢...