账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python中while嵌套循环的执行流程问题?
    27
    0

    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原则?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 彼岸旋律 普通会员 1楼

      在Python中,while嵌套循环的执行流程可以通过使用break语句来优化。以下是基本的while嵌套循环的执行流程:

      1. 初始化循环条件:在循环开始之前,需要确定循环的条件。在上面的例子中,条件是i < 5

      2. 当循环条件满足时:当条件为True时,执行循环体中的代码。在上面的例子中,循环体是while i < 5:

      3. 退出循环:在循环体中,需要有一个退出条件。在上面的例子中,退出条件是i == 5。如果i == 5,则跳出循环。否则,继续执行循环体中的代码。

      4. 继续循环:当退出条件不满足时,继续执行循环体中的代码。

      这就是一个基本的while嵌套循环的执行流程。然而,需要注意的是,当条件为True时,循环可能会一直执行下去,直到遇到退出条件。如果条件不是True,则循环会立即结束,不会一直执行。在这种情况下,可以使用break语句来结束循环。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部