Python基础教程(Python 循环嵌套)

在 Python 里,循环嵌套指的是在一个循环语句的循环体中再放置另一个循环语句。这种结构能够处理更复杂的逻辑,常用于处理多维数据结构(如二维数组、矩阵等)。Python 主要有 for 循环和 while 循环,下面将详细介绍这两种循环的嵌套使用。

1. for 循环嵌套

基本语法

for 变量1 in 可迭代对象1:
    # 外层循环体
    for 变量2 in 可迭代对象2:
        # 内层循环体
        代码块

示例:打印九九乘法表

# 外层循环控制行数
for i in range(1, 10):
    # 内层循环控制列数
    for j in range(1, i + 1):
        # 打印乘法表达式
        print(f"{j} x {i} = {i * j}", end="\t")
    # 换行
    print()

代码解释:
  • 外层 for 循环使用 range(1, 10) 控制乘法表的行数,变量 i 从 1 到 9 变化。
  • 内层 for 循环使用 range(1, i + 1) 控制每一行的列数,变量 j 从 1 到 i 变化。
  • 在内层循环体中,使用 print 函数打印乘法表达式,end="\t" 表示每个表达式之间用制表符分隔。
  • 当内层循环结束后,使用 print() 进行换行,开始下一行的打印。

2. while 循环嵌套

基本语法

while 条件表达式1:
    # 外层循环体
    while 条件表达式2:
        # 内层循环体
        代码块

示例:使用 while 循环嵌套打印一个简单的矩形图案

# 外层循环控制行数
rows = 5
i = 0
while i < rows:
    # 内层循环控制列数
    cols = 10
    j = 0
    while j < cols:
        print("*", end=" ")
        j = j + 1
    # 换行
    print()
    i = i + 1

代码解释:
  • 外层 while 循环使用变量 i 控制行数,当 i 小于 rows(这里为 5)时,继续执行外层循环体。
  • 内层 while 循环使用变量 j 控制列数,当 j 小于 cols(这里为 10)时,继续执行内层循环体,在内层循环体中打印星号 *
  • 内层循环结束后,使用 print() 进行换行,然后外层循环的变量 i 加 1,开始下一行的打印。

3. for 循环和 while 循环混合嵌套

在实际编程中,也可以将 for 循环和 while 循环混合使用。

示例:打印一个简单的三角形图案

# 外层使用 for 循环控制行数
for i in range(1, 6):
    # 内层使用 while 循环控制列数
    j = 0
    while j < i:
        print("*", end=" ")
        j = j + 1
    # 换行
    print()

代码解释:
  • 外层 for 循环使用 range(1, 6) 控制三角形的行数,变量 i 从 1 到 5 变化。
  • 内层 while 循环使用变量 j 控制每一行的列数,当 j 小于 i 时,继续执行内层循环体,在内层循环体中打印星号 *
  • 内层循环结束后,使用 print() 进行换行,开始下一行的打印。

4. 循环嵌套中的 break 和 continue 语句

break 和 continue 语句同样适用于循环嵌套的情况,但它们只会影响所在的内层循环。

示例:在嵌套循环中使用 break 语句

for i in range(1, 4):
    for j in range(1, 4):
        if j == 2:
            break
        print(f"i = {i}, j = {j}")

代码解释:
  • 当内层循环的变量 j 等于 2 时,break 语句会使内层循环立即终止,然后外层循环继续执行下一次迭代。所以输出结果中,每一行只会打印 j 等于 1 的情况。
通过循环嵌套,你可以处理各种复杂的逻辑和数据结构,但在使用时要注意循环的终止条件,避免出现无限循环的情况。

posted on   数据与人文  阅读(11)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示