学科分类
目录
基础

循环嵌套

循环之间可以互相嵌套,进而实现更为复杂的逻辑。循环嵌套按不同的循环语句可以划分为while循环嵌套和for循环嵌套,关于这两种循环嵌套的介绍如下。

1.while循环嵌套

while循环嵌套是指while语句中嵌套while或for语句。以while语句中嵌套while语句为例,while循环嵌套的语法格式如下:

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

执行while循环嵌套时,若外层循环的循环条件1的值为True,则执行代码段1,并对内层循环的循环条件2进行判断:值为True则执行代码段2,值为False则结束内层循环。内层循环执行完毕后继续判断外层循环的循环条件1,如此往复,直至循环条件1的值为False时结束外层循环。

下面使用while循环嵌套打印一个由“*”构成的直角三角形,示例代码如下:

i = 1
while i <= 5:
   j = 1
   while j <= i:
        print("* ", end=' ')
        j += 1
   print(end="\n")
   i += 1

以上示例的变量i代表图形的行数,变量j代表每行“”的数量。需要注意的是,以上程序打印的星号只需要换行一次,因此代码在内层循环中修改了print()函数的结束符(通过代码print(" ", end=' ')将end参数默认的结束符'\n'替换为空格符)。

运行代码,结果如下所示:

*
**
***
****
****

2.for循环嵌套

for循环嵌套是指for语句中嵌套了while或for语句。以for语句中嵌套for语句为例,for循环嵌套的语法格式如下:

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

执行for循环嵌套时,程序首先会访问外层循环中目标对象的首个元素、执行代码段1、访问内层循环目标对象的首个元素、执行代码段2,然后访问内层循环中的下一个元素、执行代码段2……如此往复,直至访问完内层循环的目标对象后结束内层循环,转而继续访问外层循环中的下一个元素,访问完外层循环的目标对象后结束外层循环。因此,外层循环每执行一次,都会执行一轮内层循环。

下面使用for循环嵌套打印一个由“*”构成的直角三角形,示例代码如下:

for i in range(1, 6):
    for j in range(i):
        print("*", end=' ')
    print()

运行代码,结果如下所示:

*
* *
* * * 
* * * * 
* * * * *
点击此处
隐藏目录