【Python 学习第 40 天】for 循环
学习日期:2026-10-27
知识点:for 循环
难度:0.71
一、今日知识点
今天学习的是 for 循环。
for 循环用于遍历一个可迭代对象(如列表、字符串、range 对象),对其中每个元素依次执行循环体。基本语法是 for 变量 in 可迭代对象:,循环体需要缩进。range(n) 生成 0 到 n-1 的整数序列,range(start, stop, step) 还能指定起点和步长。循环中可用 break 提前结束、continue 跳过本次。示例:
for i in range(3):
二、详细解析
概念说明
for 循环是 Python 中最常用的循环结构,它的作用是把一个可迭代对象里的元素挨个取出来,每取一个就执行一次循环体 。你可以把它想象成"流水线":传送带上依次送来列表里的每个元素、字符串里的每个字符、或者 range 生成的每个数字,机器(循环体)对送来的每个东西做同样的处理。
它之所以重要,是因为现实中大量任务都是"对一堆数据中的每一个做同样的事"------统计字符、累加求和、遍历列表、批量处理文件行。用 for 循环,你不需要手动维护下标,也不用担心越界,代码既短又不容易出错。
语法与用法
核心语法只有一行:
for 变量 in 可迭代对象:
循环体(需要缩进)
几个关键规则:
- 可迭代对象 :列表、字符串、元组、字典、集合、
range对象、文件对象等都可以。 - 缩进:循环体必须统一缩进(通常 4 个空格),缩进结束即表示循环体结束。
range的三种写法:range(n)→0, 1, ..., n-1range(start, stop)→ 从start到stop-1range(start, stop, step)→ 按step步长递增(stop本身不包含)break:立即跳出整个循环。continue:跳过本次剩余语句,直接进入下一次迭代。- 循环变量在循环结束后仍然存在,保存的是最后一次取到的值。
示例代码
示例 1:用步长遍历并累加
python
# range(1, 6, 2) 生成 1, 3, 5
total = 0
for i in range(1, 6, 2):
total += i # 依次加 1、3、5
print(total) # 输出 9
示例 2:遍历字符串并配合 continue
python
s = "banana"
count = 0
for ch in s: # 字符串本身就是可迭代对象
if ch != 'a':
continue # 不是 'a' 就跳过,进入下一个字符
count += 1
print(count) # 输出 3
示例 3:用 break 提前结束
python
nums = [4, 8, 15, 16]
for n in nums:
if n > 10:
print("找到第一个大于 10 的数:", n)
break # 找到后立即停止,不再看后面的元素
常见坑
- 忘记缩进或缩进不一致 :
for行末尾的冒号后,循环体必须缩进;混用空格和 Tab 会直接报IndentationError。 - 误以为
range(a, b)包含b:range(1, 6)只到 5。想让终点被包含,要写成range(1, 7)。 - 在循环中修改正在遍历的列表 :边遍历边
append/remove会导致跳过元素或行为混乱,建议遍历副本(如for x in lst[:])或改用新列表收集结果。
小结
for 循环就是"对可迭代对象中的每个元素依次做同一件事",掌握 range 的边界与步长、break/continue 的控制流,以及正确的缩进,就能覆盖绝大多数遍历场景。
三、今日练习
第 1 题 ❌
**题目:**下面代码的输出是什么?
total = 0
for i in range(1, 6, 2):
total += i
print(total)
- 我的答案:
D - 正确答案:
A
第 2 题 ✅
**题目:**补全代码,使其统计字符串 s 中字母 'a' 出现的次数,并把结果存入变量 count:
s = "banana"
count = 0
for ch in ____:
if ch == 'a':
count += 1
print(count)
- 我的答案:
s
四、今日总结
- 题目数量:2
- 答对:1
- 正确率:50%
本文由个人 Python 学习智能体自动生成