你是不是也遇到过需要重复做某件事的情况?比如,计算全班同学的平均分,需要逐个读取每个人的成绩;或者,想在屏幕上打印 100 遍"我爱 Python"。

 

如果一行一行地写代码,那也太麻烦了。这时,循环结构就成了我们的"救星"。它能让代码自动重复执行,大大提高效率。

 

Python 主要有两种循环结构: for  循环和  while  循环。它们各有侧重,我们一起来看看。

 

1. for 循环:已知次数的"重复操作"

 

 for  循环最适合用在已知要循环多少次的场景。它就像一个计数器,设定好次数后,就会按部就班地执行。

 

最常见的用法是配合  range()  函数。

 

-  range(5)  会生成 0, 1, 2, 3, 4 这几个数字。

-  range(1, 6)  则会生成 1, 2, 3, 4, 5。

-  range(0, 10, 2)  代表从 0 开始,到 10 结束(不包含10),每次增加 2,结果是 0, 2, 4, 6, 8。

 

举个例子:打印 1 到 5 的数字。

 

python

# 循环 5 次,i 依次等于 0, 1, 2, 3, 4

for i in range(5):

    print(i + 1) # 所以这里打印的是 1, 2, 3, 4, 5

 

 

 for  循环也非常擅长遍历数据集合,比如列表、字符串等。

 

再举个例子:遍历一个水果列表。

 

python

fruits = ["苹果", "香蕉", "橙子"]

for fruit in fruits: # 依次把列表里的每个元素取出来,赋值给 fruit

    print(f"我喜欢吃 {fruit}")

 

 

这段代码会依次打印出:

 

- 我喜欢吃 苹果

- 我喜欢吃 香蕉

- 我喜欢吃 橙子

 

2. while 循环:条件满足就一直"循环下去"

 

 while  循环更像是一个"守门人"。只要条件成立,它就会一直让代码执行下去。

 

它适合用在不确定循环次数,只知道循环条件的场景。

 

举个例子:用  while  循环打印 1 到 5 的数字。

 

python

count = 1 # 初始值

while count <= 5: # 条件:只要 count 小于等于 5,就继续循环

    print(count)

    count += 1 # 非常重要!让 count 每次增加 1,否则会无限循环

 

 

⚠️ 特别提醒:使用  while  循环时,一定要确保循环条件最终会变为  False 。

 

否则,程序会陷入无限循环,一直运行下去停不下来。

 

3. 循环的控制:break 和 continue

 

有时候,我们需要在循环中间做一些特殊操作,比如提前退出,或者跳过某次循环。

 

- break:直接跳出整个循环,不管后面还有多少次。

就像你在排队买票,突然有事,直接离开了队伍。

- continue:跳过当前这次循环剩下的部分,直接开始下一次循环。

就像你在吃一串葡萄,吃到一颗酸的,你吐掉它,然后接着吃下一颗。

 

举个例子:打印 1 到 10,但遇到 5 就停止。

 

python

for i in range(1, 11):

    if i == 5:

        break # 当 i 等于 5 时,执行 break,直接跳出循环

    print(i)

# 这段代码只会打印 1, 2, 3, 4

 

 

再举个例子:打印 1 到 10,但跳过 5。

 

python

for i in range(1, 11):

    if i == 5:

        continue # 当 i 等于 5 时,执行 continue,跳过后面的 print(i)

    print(i)

# 这段代码会打印 1, 2, 3, 4, 6, 7, 8, 9, 10

 

 

 

 

总的来说, for  循环适合处理已知次数或可迭代对象的场景, while  循环则更适合根据条件来控制循环。

 

合理地运用这两种循环,能让你的代码变得非常高效和简洁。

更多推荐