pin_drop当前位置:知识文库 ❯ 图文
Python循环嵌套 - for和while嵌套使用指南
概述
循环嵌套是指在一个循环内部再放置一个循环。外层循环每执行一次,内层循环完整执行一遍。循环嵌套常用于处理二维数据、生成组合和打印图案等场景。
语法
代码示例
for i in outer_iterable:
for j in inner_iterable:
statement(s)基本用法
嵌套 for 循环
代码示例
for i in range(1, 4):
for j in range(1, 4):
print(f"{i}×{j}={i*j}", end="\t")
print()输出:
代码示例
1×1=1 1×2=2 1×3=3
2×1=2 2×2=4 2×3=6
3×1=3 3×2=6 3×3=9 嵌套 while 循环
代码示例
i = 1
while i <= 3:
j = 1
while j <= 3:
print(f"({i},{j})", end=" ")
j += 1
print()
i += 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
...(以此类推)打印图案
直角三角形
代码示例
for i in range(1, 6):
for j in range(i):
print("*", end="")
print()输出:
代码示例
*
**
***
****
*****等腰三角形
代码示例
n = 5
for i in range(1, n + 1):
print(" " * (n - i) + "*" * (2 * i - 1))输出:
代码示例
*
***
*****
*******
*********常见应用场景
遍历二维列表
代码示例
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for element in row:
print(element, end=" ")
print()生成组合
代码示例
colors = ["红", "绿", "蓝"]
sizes = ["S", "M", "L"]
for color in colors:
for size in sizes:
print(f"{color}-{size}")注意事项
⚠️ 性能问题:嵌套循环的时间复杂度是 O(n²) 或更高,层数越多效率越低。
⚠️ break 只跳出一层:内层
break只跳出内层循环,不影响外层。
⚠️ 避免过深嵌套:超过3层嵌套可读性差,应考虑重构。
小结
-
循环嵌套是循环内部再放置循环
-
外层每执行一次,内层完整执行一遍
-
常用于二维数据、图案打印、组合生成
-
注意性能和可读性,避免过深嵌套
练习题
练习1
使用嵌套循环打印一个 5×5 的数字方阵,数字从 1 到 25 按行排列。
练习2
使用嵌套循环找出 100 以内的所有素数,外层循环遍历数字,内层循环检查是否能整除。
常见问题
嵌套循环的执行顺序是怎样的?
外层循环每执行一次,内层循环就会完整地从头到尾执行一遍。例如外层循环3次、内层循环4次,内层循环体总共会执行12次。
break 在嵌套循环中会跳出几层?
break 只能跳出当前所在的那一层循环。内层循环中的 break 只跳出内层循环,不影响外层循环的继续执行。
嵌套循环的性能问题如何解决?
嵌套循环的时间复杂度是 O(n²) 或更高。可以通过减少数据规模、使用更高效的数据结构(如字典、集合)、或者算法优化来降低时间复杂度。
什么情况下应该使用嵌套循环?
处理二维数据(如矩阵、表格)、生成组合(如笛卡尔积)、打印图案、多层遍历时使用嵌套循环是最自然的选择。
本文涉及AI创作
内容由AI创作,请仔细甄别