Python for循环

for循环是Python编程中最重要的结构之一,它允许我们重复执行一段代码多次,非常适合处理列表、字符串等序列类型的数据。

为什么需要循环?

想象一下你需要打印数字1到100。没有循环的话,你需要写100行print语句!使用循环,你只需几行代码就能完成这个任务。

for循环的基本语法

Python中的for循环用于遍历任何序列(如列表、元组、字符串)中的每个元素:

for 变量 in 序列:
    # 执行代码块

for循环执行过程可视化

遍历列表

列表是Python中最常用的数据结构之一,for循环非常适合处理列表:

# 遍历水果列表
fruits = ["苹果", "香蕉", "橙子", "西瓜"]

for fruit in fruits:
    print("我喜欢吃" + fruit)

使用range()函数

range()函数可以生成数字序列,常与for循环一起使用:

# 打印0到4
for i in range(5):
    print(i)

# 打印1到5
for i in range(1, 6):
    print(i)

# 打印0到10的偶数
for i in range(0, 11, 2):
    print(i)

循环中的变量变化

理解循环中变量的变化对掌握for循环非常重要:

循环次数 变量 i 的值 输出
第一次 0 当前数字: 0
第二次 1 当前数字: 1
第三次 2 当前数字: 2
第四次 3 当前数字: 3
第五次 4 当前数字: 4

for循环执行步骤

第一步: 初始化循环变量(从序列中取第一个值)
第二步: 执行循环体内的代码
第三步: 更新循环变量(取序列中的下一个值)
第四步: 重复步骤2-3,直到序列中的所有元素都被处理
第五步: 循环结束,执行循环后的代码

嵌套循环

在循环内部放置另一个循环,称为嵌套循环:

# 打印乘法表的一部分
for i in range(1, 4): # 外层循环
    for j in range(1, 4): # 内层循环
        print(f"{i} × {j} = {i*j}")
    print("----------") # 每行结束后打印分隔线

循环与计数器/累加器结合

在实际应用中,我们经常将循环与计数器、累加器结合使用:

计数器应用
# 统计列表中及格成绩的数量
scores = [85, 92, 58, 67, 90, 76]
count = 0 # 计数器

for score in scores:
    if score >= 60:
        count += 1 # 计数增加

print("及格人数:", count)

计数器用于记录满足条件的元素数量

累加器应用
# 计算购物车商品总价
prices = [29.9, 15.5, 42.0, 8.8, 99.9]
total = 0.0 # 累加器

for price in prices:
    total += price # 累加价格

print("总价: ¥", total)

累加器用于计算所有元素的总和

练习时间

练习1:打印星星图案

使用for循环打印以下图案:

*
**
***
****
*****
for i in range(1, 6):
    print('*' * i)

练习2:寻找最大数

给定一个数字列表:numbers = [12, 45, 8, 92, 34, 67]

编写代码找出列表中的最大数

numbers = [12, 45, 8, 92, 34, 67]
max_num = numbers[0] # 假设第一个数是最大的

for num in numbers:
    if num > max_num:
        max_num = num

print("最大的数字是:", max_num)
重要提示

在使用for循环时,请注意以下常见错误:

  • 忘记在循环语句末尾添加冒号(:)
  • 忘记缩进循环体中的代码
  • 在循环中修改正在迭代的序列(可能导致意外结果)
  • 使用错误的循环变量名称