Python教程之for和while循环嵌套及用法

开课吧开课吧锤锤2021-07-27 15:24

Python不仅支持相互嵌套的if语句,while和for循环结构也支持嵌套,所为嵌套(Nest),就是一条语句里面还有另外一个语句,比如for里面还有for,在while内也有while,即使while中有for,或者for中有while也是允许的。 

Python教程之for和while循环嵌套及用法 

位于外层的循环结构常简称为外层循环或外循环,而两个(甚至更多)循环结构,而位于内层的循环结构通常简称为内层循环或内循环。  

循环嵌套结构的代码,Python解释器执行的流程为:  

1、当外层循环条件为True时,则执行外层循环结构中的循环体;  

2、外层循环体中包含了普通程序和内循环,当内层循环的循环条件为True时会执行此循环中的循环体,直到内层循环条件为False,跳出内循环;  

3、如果此时外层循环的条件仍为True,则返回第2步,继续执行外层循环体,直到外层循环的循环条件为False;  

4、当内层循环的循环条件为False,且外层循环的循环条件也为False,则整个嵌套循环才算执行完毕。  

循环嵌套的执行流程图如图1所示: Python教程之for和while循环嵌套及用法

图1循环嵌套的执行流程图  

下面程序演示了while-for嵌套结构:  

i = 0
while i<10:
    for j in range(10):
        print("i=",i," j=",j)       
    i=i+1

由于程序输出结果篇幅太长,读者可自行拷贝代码并执行,观察其执行结果。  

可以看到,此程序中运用了嵌套循环结构,其中外循环使用的是while语句,而内循环使用的是for语句。程序执行的流程是:  

一开始i=0,循环条件i<10成立,进入while外循环执行其外层循环体;  

从j=0开始,由于j<10成立,因此进入for内循环执行内层循环体,直到j=10不满足循环条件,跳出for循环体,继续执行while外循环的循环体;  

执行i=i+1语句,如果i<10依旧成立,则从第2步继续执行。直到i<10不成立,则此循环嵌套结构才执行完毕。  

根据上面的分析,此程序中外层循环将循环10次(从i=0到i=9),而每次执行外层循环时,内层循环都从j=0循环执行到j=9。因此,该嵌套循环结构将执行10*10=100次。  

嵌套循环执行的总次数=外循环执行次数*内循环执行次数  

事实上,if语句和循环(while、for)结构之间,也可以相互嵌套,举个例子:  

i = 0
if i<10:
    for j in range(5):
        print("i=",i," j=",j)

程序执行结果为:  

i= 0  j= 0
i= 0  j= 1
i= 0  j= 2
i= 0  j= 3
i= 0  j= 4

需要指明的是,上面程序演示的仅是2层嵌套结构,其实if、while、for之间完全支持多层(≥3)嵌套。例如:  

if ...:
    while ...:
        for ...:
            if ...:
                ...

也就是说,只要场景需要,判断结构和循环结构之间完全可以相互嵌套,甚至可以多层嵌套。  

以上就是开课吧广场小编为大家整理发布的“Python教程之for和while循环嵌套及用法”一文,更多Python教程相关内容尽在开课吧Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
零基础轻松入门Python