1. 什么是循环嵌套?
循环嵌套 指的是在 一个循环体内再包含一个或多个循环,可以是 for
循环嵌套 for
,也可以是 while
循环嵌套 while
,或者两者相互嵌套。
常见用途:
- 遍历二维数组、矩阵
- 多层循环计算
- 打印特定模式
- 多重条件处理
2. for
循环嵌套 for
示例 1:打印九九乘法表
for i in range(1, 10): # 外层控制行
for j in range(1, i + 1): # 内层控制列
print(f"{j}×{i}={i * j}", end="\t")
print()
输出:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...
1×9=9 2×9=18 ... 9×9=81
示例 2:遍历二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for num in row:
print(num, end=" ")
print()
输出:
1 2 3
4 5 6
7 8 9
3. while
循环嵌套 while
示例:生成 5×5 矩阵
i = 1
while i <= 5:
j = 1
while j <= 5:
print(f"({i},{j})", end=" ")
j += 1
print()
i += 1
输出:
(1,1) (1,2) (1,3) (1,4) (1,5)
(2,1) (2,2) (2,3) (2,4) (2,5)
(3,1) (3,2) (3,3) (3,4) (3,5)
(4,1) (4,2) (4,3) (4,4) (4,5)
(5,1) (5,2) (5,3) (5,4) (5,5)
4. for
循环嵌套 while
示例:使用 while
控制 for
循环的次数
count = 0
while count < 3:
for i in range(1, 4):
print(f"while 第 {count + 1} 次,for 输出:{i}")
count += 1
输出:
while 第 1 次,for 输出:1
while 第 1 次,for 输出:2
while 第 1 次,for 输出:3
while 第 2 次,for 输出:1
while 第 2 次,for 输出:2
while 第 2 次,for 输出:3
while 第 3 次,for 输出:1
while 第 3 次,for 输出:2
while 第 3 次,for 输出:3
5. while
循环嵌套 for
示例:模拟游戏计时器
import time
for round in range(1, 4): # 3 轮游戏
print(f"游戏回合 {round}")
countdown = 3
while countdown > 0:
print(f"倒计时:{countdown} 秒")
time.sleep(1)
countdown -= 1
print("开始游戏!\n")
(每轮倒计时 3 秒后开始游戏)
6. break
终止嵌套循环
示例:找出满足条件的数并提前终止
for i in range(1, 6):
for j in range(1, 6):
print(f"正在检查 ({i}, {j})")
if i == 3 and j == 3:
print("找到目标 (3,3),停止循环")
break # 只跳出内层循环
else:
continue # 只有正常结束内层循环才执行
break # 终止整个循环
输出:
正在检查 (1, 1)
正在检查 (1, 2)
...
正在检查 (3, 3)
找到目标 (3,3),停止循环
7. continue
跳过当前迭代
示例:跳过特定数字
for i in range(1, 4):
for j in range(1, 4):
if j == 2:
continue # 跳过 j = 2
print(f"({i},{j})", end=" ")
print()
输出:
(1,1) (1,3)
(2,1) (2,3)
(3,1) (3,3)
8. 经典案例:打印星形图案
示例 1:右三角形
n = 5
for i in range(1, n + 1):
print("*" * i)
输出:
*
**
***
****
*****
示例 2:左对齐三角形
n = 5
for i in range(1, n + 1):
print(" " * (n - i) + "*" * i)
输出:
*
**
***
****
*****
示例 3:金字塔
n = 5
for i in range(1, n + 1):
print(" " * (n - i) + "*" * (2 * i - 1))
输出:
*
***
*****
*******
*********
9. 总结
✅ 循环嵌套的特点:
- 外层循环 控制 行数或大结构
- 内层循环 处理 列数或小结构
- 嵌套越深,执行次数越多,效率可能下降
✅ 关键语法:
for
嵌套for
,遍历二维结构while
嵌套while
,适用于复杂逻辑break
提前终止 内外层循环continue
跳过当前迭代else
循环正常结束后执行
✅ 应用场景
- 二维数组/矩阵遍历
- 图案打印
- 嵌套计算
- 数据处理
🚀 掌握循环嵌套,让你的代码更强大!
发表回复