- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🔁 理解循环:让代码重复执行,省时省力。
- 🏭 掌握
range():制造数字序列的工厂。 - 📜 学会
for循环:最常用的循环咒语。 - 🐝 理解循环变量:那个变来变去的
i是什么? - ∑ 累加思想:利用循环做复杂的数学计算(如 1加到100)。
📖 课程内容
1. 🤔 引入:程序员都是“大懒虫” (10 分钟)
如果老师让你抄写 10 遍 “Hello World”,你会怎么写? 笨办法:
print("Hello World")
print("Hello World")
# ... 写 10 行,累死啦!😫
聪明办法(使用循环):
for i in range(10):
print("Hello World")
# 只要 2 行代码,搞定!😎
这就是循环的魔力:把重复的事情交给电脑做。
2. 🏭 数字工厂:range() 函数 (15 分钟)
在学习循环之前,我们需要先制造一串数字,告诉循环要跑几次。
range() 就是一个数字生成器。
-
模式 1:只给一个数字 (结束)
range(5)-> 生成 0, 1, 2, 3, 4- ⚠️ 注意: 从 0 开始,不包含 结束的数字 5!(一共 5 个数)
-
模式 2:指定开始和结束
range(1, 6)-> 生成 1, 2, 3, 4, 5- ⚠️ 口诀: 包头不包尾! (包含 1,不包含 6)
-
模式 3:指定步长 (跳着数)
range(1, 10, 2)-> 生成 1, 3, 5, 7, 9- 解释: 从 1 开始,每次加 2 (跳两步),直到碰到 10 停止。
3. 📜 循环咒语:for 循环结构 (20 分钟)
现在,让我们把数字工厂和循环结合起来。
-
语法结构:
for 变量 in 序列: # 要重复做的事情 # (记得缩进!) -
🐝 忙碌的小蜜蜂:循环变量
i在for i in range(...)中,i是一个变量(通常叫i,也可以叫num,x)。 每一次循环,i都会变成序列里的下一个数字!print("--- 开始报数 ---") for i in range(1, 4): print(f"现在 i 的值是: {i}") print("--- 结束 ---")运行结果:
现在 i 的值是: 1 现在 i 的值是: 2 现在 i 的值是: 3
4. ✨ 多元化场景实战 (30 分钟)
循环不仅能打印文字,还能做很多很酷的事情!
场景 A:🚀 火箭发射倒计时 (反向循环) 我们要从 10 数到 1,然后发射!
- 技巧:步长设为 -1 (倒着走)。
import time # 导入时间模块,让程序停顿一下,更有感觉
print("🚀 火箭发射程序启动!")
for i in range(10, 0, -1): # 从 10 开始,到 0 结束(不含0),每次减 1
print(f"倒计时: {i}")
time.sleep(1) # 暂停 1 秒
print("🔥 点火!起飞!")
场景 B:🧮 数学神童 (高斯求和) 算出 1 + 2 + 3 + … + 100 等于多少?
- 累加器思想:准备一个空存钱罐
total,每次循环把数字丢进去。
total = 0 # 这是一个存钱罐,一开始是空的
for i in range(1, 101): # 产生 1 到 100 的数字
total = total + i # 把 i 加进存钱罐
# 也可以写成: total += i
print(f"1 加到 100 的结果是: {total}")
场景 C:🎨 字符画师 利用循环打印重复的图案。
print("--- 打印三角形 ---")
for i in range(1, 6):
# 第一行打印 1 个 *,第二行打印 2 个 *...
print("*" * i)
输出:
*
**
***
****
*****
5. ⚠️ 常见坑点 (5 分钟)
- 🚫 忘记冒号:
for i in range(5)❌ ->for i in range(5):✅ - 🚫 忘记缩进: 循环体内的代码必须缩进,否则只执行一次。
- 🚫 范围搞错: 想打印 1 到 10,写了
range(1, 10)。❌ (这样只到 9!) 应该是range(1, 11)。✅
💪 课堂大练兵 (10 分钟)
请完成以下挑战:
-
🔢 报偶数: 使用
range的步长功能,打印 0 到 20 之间所有的偶数 (0, 2, 4… 20)。 -
🎤 复读机: 让用户输入一句话,再输入一个数字 N。 然后程序把这句话打印 N 遍。
-
🧊 累乘器: 计算 1 x 2 x 3 x 4 x 5 的结果。(提示:存钱罐初始值要是 1,不能是 0 哦!)
📝 课程总结 (5 分钟)
range(start, stop, step):生成数字序列,切记包头不包尾。for i in ...::遍历序列,i在每次循环中都会变。- 缩进:决定了哪些代码是需要重复执行的。
- 应用:倒计时、累加求和、打印图案。
🏠 课后作业 (5 分钟)
-
🤜🤛 打印乘法口诀表的一列: 让用户输入一个数字(比如 5)。 利用循环打印:
1 x 5 = 52 x 5 = 10…9 x 5 = 45 -
🎋 奇数求和: 计算 1 到 100 之间所有奇数的总和。 (提示:可以用
range(1, 101, 2)) -
🎄 圣诞树 (挑战题): 利用循环和字符串乘法,打印一棵简单的树:
* *** ***** ******* |(这一题比较难,需要思考空格和星号数量的关系,做不出来没关系!)
下节课预告: for 循环适合知道要跑多少次的情况。但是,如果我不知道要跑多少次,只想“一直跑,直到达成某个目标”怎么办?(比如:一直猜数字,直到猜对为止)。下节课,我们学习“死缠烂打的 while 循环”!🔄🔁
下次见,循环大师们!👋

评论(0)