第 16 课 · 阶段二 · 基础语法
for 循环与 range
for 循环是 Python 最常用的循环,天生适合“遍历”。这一课掌握 for + range、遍历各种数据,以及两层循环嵌套。
🎯 学完本课你将掌握
- 用 for 循环遍历字符串、列表等序列
- 灵活使用 range() 的三种写法
- 理解并写出嵌套循环
一、for 遍历字符串
遍历字符串.py
1for ch in "Python":2 print(ch)3# 逐个输出 P y t h o n二、for 遍历列表
遍历列表.py
1fruits = ["苹果", "香蕉", "橘子"]2for f in fruits:3 print("我喜欢", f)三、range() 生成数字序列
| 写法 | 含义 | 示例 |
|---|---|---|
| range(n) | 0 到 n-1 | range(3) → 0,1,2 |
| range(a, b) | a 到 b-1 | range(2,5) → 2,3,4 |
| range(a, b, s) | a 到 b-1 步长 s | range(1,10,2) → 1,3,5,7,9 |
range 用法.py
1for i in range(5):2 print(i, end=" ") # 0 1 2 3 43print()45for i in range(2, 6):6 print(i, end=" ") # 2 3 4 57print()89for i in range(0, 10, 2):10 print(i, end=" ") # 0 2 4 6 811print()1213for i in range(5, 0, -1):14 print(i, end=" ") # 5 4 3 2 1 倒着数15print()✅ 要点
range(开始, 结束, 步长) 是左闭右开:包含开始、不含结束。range(1, 4) 生成 1,2,3。
四、用 enumerate 同时拿序号和值
enumerate.py
1names = ["小明", "小红", "小刚"]2for idx, name in enumerate(names, start=1):3 print(f"第{idx}名:{name}")五、嵌套循环:九九乘法表
九九乘法表.py
1for i in range(1, 10):2 for j in range(1, i + 1):3 print(f"{j}x{i}={i * j}", end=" ")4 print() # 外层每行结束换行六、常见错误与解决
常见错误与解决
| 错误现象 | 原因 / 解决方法 |
|---|---|
for 循环冒号后没缩进 | for 行尾要加冒号,循环体必须缩进。 |
range 参数顺序搞反 | range(5, 1) 生成空序列,因为开始>结束且步长为正;倒序要加负步长。 |
遍历时修改列表导致结果怪 | 遍历列表时尽量别增删元素,可先复制一份或改用列表推导式。 |
✍️ 小练习
用 for + range 打印 1-20 中所有 3 的倍数;再用嵌套循环打印一个由 * 组成的 5 行直角三角形。
📌 本节小结
for 天生遍历,range 精确控次数(左闭右开),enumerate 带序号,嵌套循环解决二维问题。for 是日常使用率最高的循环,务必练熟。