Python循环入门:彻底搞懂for循环,看这一篇就够了!
大家好,我是小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)
两种写法结果一样,但列表推导式更加简洁。
新手常见错误
忘记冒号:for语句后面一定要加冒号(:)
忘记缩进:循环体必须缩进(通常是4个空格)
修改正在遍历的列表:不要在遍历列表时添加或删除元素
小练习
来试试用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循环。多练习、多思考,很快你就能熟练运用了!
