• ⏳ 课程时长: 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 序列:
        # 要重复做的事情
        # (记得缩进!)
  • 🐝 忙碌的小蜜蜂:循环变量 ifor 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 分钟)

  1. 🚫 忘记冒号: for i in range(5) ❌ -> for i in range(5):
  2. 🚫 忘记缩进: 循环体内的代码必须缩进,否则只执行一次。
  3. 🚫 范围搞错: 想打印 1 到 10,写了 range(1, 10)。❌ (这样只到 9!) 应该是 range(1, 11)。✅

💪 课堂大练兵 (10 分钟)

请完成以下挑战:

  1. 🔢 报偶数: 使用 range 的步长功能,打印 0 到 20 之间所有的偶数 (0, 2, 4… 20)。

  2. 🎤 复读机: 让用户输入一句话,再输入一个数字 N。 然后程序把这句话打印 N 遍。

  3. 🧊 累乘器: 计算 1 x 2 x 3 x 4 x 5 的结果。(提示:存钱罐初始值要是 1,不能是 0 哦!)


📝 课程总结 (5 分钟)

  1. range(start, stop, step):生成数字序列,切记包头不包尾
  2. for i in ...::遍历序列,i 在每次循环中都会变。
  3. 缩进:决定了哪些代码是需要重复执行的。
  4. 应用:倒计时、累加求和、打印图案。

🏠 课后作业 (5 分钟)

  1. 🤜🤛 打印乘法口诀表的一列: 让用户输入一个数字(比如 5)。 利用循环打印: 1 x 5 = 5 2 x 5 = 109 x 5 = 45

  2. 🎋 奇数求和: 计算 1 到 100 之间所有奇数的总和。 (提示:可以用 range(1, 101, 2))

  3. 🎄 圣诞树 (挑战题): 利用循环和字符串乘法,打印一棵简单的树:

        *
       ***
      *****
     *******
        |

    (这一题比较难,需要思考空格和星号数量的关系,做不出来没关系!)


下节课预告: for 循环适合知道要跑多少次的情况。但是,如果我不知道要跑多少次,只想“一直跑,直到达成某个目标”怎么办?(比如:一直猜数字,直到猜对为止)。下节课,我们学习“死缠烂打的 while 循环”!🔄🔁

下次见,循环大师们!👋

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。