python小白的基礎問題 關於while循環的嵌套
PHP中文网
PHP中文网 2017-05-24 11:35:20
0
2
749

原始程式碼如下:

#
# -*- coding:gb2312 -*-
#站起来,坐下,站起来,转5个圈,坐下。整个流程执行10次
Process1 = 1
Process2 = 1
while Process1 < 10: # 这个Process1 代表外面大的while循环
    print("="*5)
    print("第%d次执行"%Process1)
    print("站起来")
    print("坐下")
    print("站起来")
    while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环
        print("转%d个圈"%Process2)
        Process2 = Process2 + 1
    print("坐下")
    Process1 = Process1 + 1

執行結果:

我的問題是:
為什麼如圖紅色標記的這一部分,也就是Process2這一部分的內循環,在整個過程中只執行了一次,而不是隨著外面的整個大循環執行10次?我該如何改進才可以讓他隨著整個程式一直嵌套在裡面循環下去?

PHP中文网
PHP中文网

认证0级讲师

全部回覆(2)
刘奇

執行第一次外循環之後, Process2 的值变成了 6, 在执行第二次外循环及以后时,它的值一直是 6, 所以内循环不执行.
如果你想让它执行, Process2的初始化應該放到外循環裡面.

Process1 = 1
while Process1 < 10: # 这个Process1 代表外面大的while循环
    print("="*5)
    print("第%d次执行"%Process1)
    print("站起来")
    print("坐下")
    print("站起来")
    Process2 = 1
    while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环
        print("转%d个圈"%Process2)
        Process2 = Process2 + 1
    print("坐下")
    Process1 = Process1 + 1
给我你的怀抱

要把內層循環的變數賦值放在外層循環裡面才行。保證在每次外層循環時,內層循環變數都從1開始。不然,內層循環變數第一次運行後變成6,之後一直是6,導致後面不再執行。

# -*- coding:gb2312 -*-
#站起来,坐下,站起来,转5个圈,坐下。整个流程执行10次
Process1 = 1
while Process1 < 10: # 这个Process1 代表外面大的while循环
    print("="*5)
    print("第%d次执行"%Process1)
    print("站起来")
    print("坐下")
    print("站起来")
    Process2 = 1
    while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环
        print("转%d个圈"%Process2)
        Process2 = Process2 + 1
    print("坐下")
    Process1 = Process1 + 1
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板