1.

while x < 3:

print("x的当前值为%d" % x)

y = 0

while y < 3:

print("y的当前值为%d" % y)

print("内层循环")

y += 1

print("y的累加值为%d" % y)

print("外层循环")

x += 1

print("x的累加值为%d" % x)

执行结果如下: (嵌套的内循环计数器在外循环内部)

第1次完整循环

x当前值 = 0

y当前值 = 0

内层循环

y累加值 = 1

y当前值 = 1

内层循环

y累加值 = 2

y当前值 = 2

内层循环

y累加值 = 3

外层循环

x累加值 = 1

第2次完整循环

x当前值 = 1

y当前值 = 0

内层循环

y累加值 = 1

y当前值 = 1

内层循环

y累加值 = 2

y当前值 = 2

内层循环

y累加值 = 3

外层循环

x累加值 = 2

第3次完整循环

x当前值 = 2

y当前值 = 0

内层循环

y累加值 = 1

y当前值 = 1

内层循环

y累加值 = 2

y当前值 = 2

内层循环

y累加值 = 3

外层循环

x累加值 = 3

不再满足条件

2.

x = 0

y = 0

while x < 3:

print("x当前值 = %d" % x)

while y < 3:

print("y当前值 = %d" % y)

print("内层循环")

y += 1

print("y累加值 = %d" % y)

print("外层循环")

x += 1

print("x累加值 = %d" % x)

执行结果如下: (嵌套的内循环计数器在外面)

第1次完整循环

x当前值 = 0

y当前值 = 0

内层循环

y累加值 = 1

y当前值 = 1

内层循环

y累加值 = 2

y当前值 = 2

内层循环

y累加值 = 3

外层循环

x累加值 = 1

第2次完整循环

x当前值 = 1

外层循环

x累加值 = 2

第3次完整循环

x当前值 = 2

外层循环

x累加值 = 3

为什么会出现这种差异呢? 看了视频, 老师只告诉这种差异存在, 自己也分析了执行流程, 但那是从结果分析原因, 总觉得对其中原理有点迷糊.

有什么更明确清晰的理解方法吗? 像python代码从上到下, 从左到右, LEGB原则?

python中嵌套循环的运行原理_python中while嵌套循环的执行流程问题?相关推荐

  1. python中map函数运行原理_Python中map函数的解释和可视化

    先重温一下迭代(Iteration).迭代器对象(iterable).迭代器(iterator )的概念: Iteration是计算机科学的通用术语,它是指对一组元素执行一项操作,一次执行一个元素.一 ...

  2. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  3. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  4. python中迭代器的实现原理_Python 进阶应用教程

    Python 中的迭代器实现原理 在数学中,集合表示由一个或多个确定的元素所构成的整体.在 Python 中,列表.元组.集合可以用于表示数学中的集合. 例如,分别使用列表.元组.集合表示了一个包含 ...

  5. python if name main 的作用_Python中if __name__ == '__main__':的作用和原理

    if __name__ == '__main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行. ...

  6. python中的self怎么理解_python中的self理解

    前言 先介绍下类和实例 面向对象最重要的概念就是类(class)和实例(instance),类时抽象的模板,比如学生这个抽象的事物,可以用一个student类来表示.而实例时根据类创建出来的一个个具体 ...

  7. python深复制与浅复制_Python中的深拷贝和浅拷贝详解

    要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...

  8. python if写在return 后面_python中return如何写

    python中return的用法 1.return语句就是把执行结果返回到调用的地方,并把程序的控制权一起返回 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return ...

  9. python中格式化字符串的作用_python中字符串格式化的意义(化妆)

    格式 描述 %%百分号标记 #就是输出一个% %c字符及其ASCII码 %s字符串 %d有符号整数(十进制) %u无符号整数(十进制) %o无符号整数(八进制) %x无符号整数(十六进制) %X无符号 ...

最新文章

  1. angularjs 学习笔记 简单基础
  2. 安装VMware Workstation提示the msi failed的解决办法
  3. React 组件之间传递参数
  4. VisualSVN Server2.5服务器迁移
  5. ZOJ 3781 最短路(想法好题目)
  6. java浮点整型数组_如何将C风格的二进制浮点数组读入Java?
  7. JavaScript学习随记——数组二
  8. centOS docker容器的安装
  9. mysql 几级缓存_Mysql中一级缓存二级缓存区别
  10. 粉刷匠(bzoj 1296)
  11. Varnish 缓存服务器配置
  12. 安装版mysql数据库data在_MySQL 5.7版本的安装使用详细教程+更改数据库data的存储路径...
  13. 如何看待家长培训课?
  14. CDA学习之Pandas - 常用函数和75个高频操作
  15. IEEE802.11信道PDP与频谱分布
  16. 请不要在Java项目中乱打印日志了,这才是正确姿势,非常实用!
  17. 轮播图功能的全实现(自动播放、小点点、按住停止播放、放手后开始播放...)
  18. 《微机原理与接口技术》复习参考资料,期末考试和专接本适用
  19. Sentinel demo
  20. OCJP题库1Z0-851(21/30)

热门文章

  1. linux下mv命令移动目录的二种情况
  2. 高可用性网络的简单配置方案(一)
  3. Linux上常用的安全技术iptables与squid代理服务器
  4. 遇java.lang.OutOfMemoryError: PermGen space之解决方案
  5. 转:ASP自动解压RAR文件
  6. KeyValueTextInputFormat使用案例
  7. 爬虫——基本库的使用
  8. 最小生成树(kruskal+prime)
  9. NHibernate学习手记(3) - NH的配置信息
  10. 数据库学习之(6)了解数据库触发器