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 循环正常结束后执行

应用场景

  • 二维数组/矩阵遍历
  • 图案打印
  • 嵌套计算
  • 数据处理

🚀 掌握循环嵌套,让你的代码更强大!