大家好,我是小D。今天我们来聊聊Python中最常用的循环语句——for循环

还记得我学循环的时候,总是搞不清楚循环是怎么回事。比如要打印1到10的数字,难道真的要写10行print语句吗?当然不用!这就是for循环派上用场的地方了。

什么是for循环?

简单来说,for循环就是用来重复执行某段代码的工具。当我们需要对一组数据(比如列表、字符串、范围等)中的每个元素执行相同的操作时,for循环就是我们的好帮手。

for循环的基本语法

Python的for循环语法非常简洁:

python

for 变量 in 可迭代对象:
    要重复执行的代码

这里的“可迭代对象”可以理解为“一堆东西”,比如一个列表、一个字符串、一个范围等。

最基础的例子:遍历列表

让我们从最简单的例子开始:

python

# 创建一个水果列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]

# 用for循环遍历列表
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

运行结果:

text

我喜欢吃苹果
我喜欢吃香蕉
我喜欢吃橙子
我喜欢吃葡萄

是不是很直观?fruit这个变量会依次取列表中的每个元素,然后执行缩进的代码块。

使用range()生成数字序列

如果我们要重复执行某个操作固定的次数,或者要生成一系列数字,range()函数就非常有用:

range(stop) - 从0开始到stop-1

python

# 打印0到4
for i in range(5):
    print(f"当前数字是:{i}")

运行结果:

text

当前数字是:0
当前数字是:1
当前数字是:2
当前数字是:3
当前数字是:4

range(start, stop) - 指定起始和结束

python

# 打印3到7
for i in range(3, 8):
    print(f"当前数字是:{i}")

运行结果:

text

当前数字是:3
当前数字是:4
当前数字是:5
当前数字是:6
当前数字是:7

range(start, stop, step) - 指定步长

python

# 打印1到10之间的奇数
for i in range(1, 11, 2):
    print(f"奇数:{i}")

运行结果:

text

奇数:1
奇数:3
奇数:5
奇数:7
奇数:9

遍历字符串

字符串也是可迭代对象,我们可以逐个字符遍历:

python

word = "Python"

for char in word:
    print(f"字符:{char}")

运行结果:

text

字符:P
字符:y
字符:t
字符:h
字符:o
字符:n

实用技巧:同时获取索引和值

有时候我们不仅需要元素的值,还需要知道它的位置(索引)。这时可以用enumerate()函数:

python

colors = ["红色", "蓝色", "绿色", "黄色"]

for index, color in enumerate(colors):
    print(f"第{index+1}个颜色是{color}")

运行结果:

text

第1个颜色是红色
第2个颜色是蓝色
第3个颜色是绿色
第4个颜色是黄色

实战例子:计算总和与平均值

来看一个更实用的例子,计算一组数字的总和与平均值:

python

# 假设有一组成绩
scores = [85, 92, 78, 90, 88, 76, 95]

# 计算总和
total = 0
for score in scores:
    total = total + score  # 也可以写成 total += score

# 计算平均值
average = total / len(scores)

print(f"总分为:{total}")
print(f"平均分为:{average:.1f}")

运行结果:

text

总分为:604
平均分为:86.3

循环中的break和continue

有时候我们需要在循环中提前结束或者跳过某些元素:

break - 提前结束循环

python

# 找到第一个能被7整除的数
for i in range(1, 20):
    if i % 7 == 0:
        print(f"找到了!第一个能被7整除的数是:{i}")
        break  # 找到后就立即结束循环
    print(f"检查{i},不符合条件...")

运行结果:

text

检查1,不符合条件...
检查2,不符合条件...
检查3,不符合条件...
检查4,不符合条件...
检查5,不符合条件...
检查6,不符合条件...
找到了!第一个能被7整除的数是:7

continue - 跳过当前迭代

python

# 打印1到10,但跳过所有偶数
for i in range(1, 11):
    if i % 2 == 0:
        continue  # 如果是偶数,跳过本次循环,不执行后面的print
    print(f"奇数:{i}")

运行结果:

text

奇数:1
奇数:3
奇数:5
奇数:7
奇数:9

列表推导式:for循环的简洁写法

当你学会了for循环后,你可能会遇到一种更简洁的写法——列表推导式:

python

# 传统写法:创建1-10的平方列表
squares = []
for i in range(1, 11):
    squares.append(i ** 2)
print(squares)

# 列表推导式写法(一行搞定)
squares = [i ** 2 for i in range(1, 11)]
print(squares)

两种写法结果一样,但列表推导式更加简洁。

新手常见错误

  1. 忘记冒号:for语句后面一定要加冒号(:)

  2. 忘记缩进:循环体必须缩进(通常是4个空格)

  3. 修改正在遍历的列表:不要在遍历列表时添加或删除元素

小练习

来试试用for循环解决这个问题吧:

计算1到100之间所有能被3或5整除的数的和

答案(先自己试试再看哦):

python

total = 0
for i in range(1, 101):
    if i % 3 == 0 or i % 5 == 0:
        total += i
print(f"1到100之间能被3或5整除的数的和是:{total}")

总结

for循环是Python编程的基础,掌握了它,你就能:

  • 批量处理数据

  • 重复执行代码

  • 遍历各种数据结构

记住:凡是需要重复做的事情,都可以考虑用for循环。多练习、多思考,很快你就能熟练运用了!

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐