首页 > 其他分享 >for 和 while 循环嵌套

for 和 while 循环嵌套

时间:2022-08-22 18:13:11浏览次数:48  
标签:语句 外层 嵌套 while 循环 执行

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

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

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

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

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

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

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

 

 

 示例:

1 i = 0
2 while i<10:
3     for j in range(10):
4         print("i=",i," j=",j)       
5     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)结构之间,也可以相互嵌套,举个例子:

1 i = 0
2 if i<10:
3 for j in range(5):
4 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 ...:
                ...

标签:语句,外层,嵌套,while,循环,执行
From: https://www.cnblogs.com/myx3/p/16613776.html

相关文章

  • while循环语句
    while循环和if条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while就会一直重复执行那段代码块。语法格式:while条件表......
  • JQuery_遍历_for循环、JQuery_遍历2_each方法
    JQuery_遍历_for循环2.遍历1.js的遍历方式*for(初始化值;循环结束条件;步长)2.jq的遍历方式1.jq对象.each(callback)2.$.each(object,[callback])3.for..of: ......
  • python学习目录04-模块的循环导入
    循环导入#循环导入:大型的python项目中,需要很多python文件,由于架构不当,可能会出现模块之间的相互导入A:模块deftest():f()B:模块deff():......
  • 在vue中循环调用接口-promise.all()
    methods:{handleAdd(arr){this.loading=trueconstallApi=[]arr.forEach((item,index)=>{constdata={id:item.id,......
  • 【Java基础】循环结构for、while、嵌套循环、关键字break、continue
    1.for循环for(inti=0;i<10;i++){System.out.println(i);}执行过程说明(1)循环条件部分②为boolean类型表达式,当值为false时,......
  • Python-09_02函数参数类型、函数嵌套
    1、Python函数参数类型:必备参数、关键字参数、缺省参数、任意个数参数。必备参数须以正确的顺序传入函数,也叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,......
  • 054_末晨曦Vue技术_处理边界情况之组件之间的循环引用
    组件之间的循环引用点击打开视频讲解更详细假设你需要构建一个文件目录树,像访达或资源管理器那样的。你可能有一个<tree-folder>组件,模板是这样的:<p><span>{{fold......
  • JMeter While循环控制器应用之遍历获取文件参数
    While循环控制器应用之遍历获取文件参数by:授客QQ:1033553122测试环境JMeter-5.4.1应用实现单线程在单次迭代内遍历获取文件参数说明:上图仅给出关键配置信息注意:......
  • Python_08While循环
    while循环Python提供了While和for循环,(在Python中没有do..while循环)如果使用 while 循环,给定的判断条件为true时执循环体,否则退出循环体。1#在Python中没有do...whi......
  • html页面嵌套其他网站页面的方法
    直接上代码:html页面嵌套其他网站页面的方法<div><!--第一种:使用object标签--><objecttype="text/html"data="https://www.baidu.com"style="width:1000px;heigh......