Python(for和while)循环嵌套及用法

杰米粉2021-09-08 15:34

    Python不仅支持if语句相互嵌套,while和for循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如for里面还有for,while里面还有while,甚至while中有for或者for中有while也都是允许的。

Python(for和while)循环嵌套及用法

    当2个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为外层循环或外循环,位于内层的循环结构常简称为内层循环或内循环。

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

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

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

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

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

    循环嵌套的执行流程图如图1所示:

Python(for和while)循环嵌套及用法

    下面程序演示了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教程频道。

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