自學Python入門 (for和while)循環嵌套及用法

Python 程序中,如果把一個循環放在另一個循環體內,那麼就可以形成循環嵌套。循環嵌套既可以是 for 循環嵌套 while 循環,也可以是 while 循環嵌套 for 循環,即各種類型的循環都可以作爲外層循環,各種類型的循環也都可以作爲內層循環。

當程序遇到循環嵌套時,如果外層循環的循環條件允許,則開始執行外層循環的循環體,而內層循環將被外層循環的循環體來執行(只是內層循環需要反覆執行自己的循環體而己)。只有當內層循環執行結束且外層循環的循環體也執行結束時,纔會通過判斷外層循環的循環條件,決定是否再次開始執行外層循環的循環體。

根據上面分析,假設外層循環的循環次數爲 n 次,內層循環的循環次數爲 m 次,那麼內層循環的循環體實際上需要執行 n × m 次。循環嵌套的執行流程圖如圖 1 所示:
循環嵌套的執行流程圖
從圖 1 來看,循環嵌套就是把內層循環當成外層循環的循環休。只有內層循環的循環條件爲假時,纔會完全跳出內層循環,纔可以結束外層循環的當次循環,開始下一次循環。

下面是一個循環嵌套的示例代碼:

# 外層循環
for i in range(0, 5) :
    j = 0
    # 內層循環
    while j < 3 :
        print("i的值爲: %d , j的值爲: %d" % (i, j))
        j += 1

運行上面程序,將看到如下運行結果:

i的值爲: 0 , j的值爲: 0
i的值爲: 0 , j的值爲: 1
i的值爲: 0 , j的值爲: 2
......

從上面的運行結果可以看出,當進入嵌套循環時,循環變量 i 開始爲 0,這時即進入了外層循環。當進入外層循環後,內層循環把 i 當成一個普通變量,其值爲 0。在外層循環的當次循環中,內層循環就是一個普通循環。

實際上,嵌套循環不僅可以是兩層嵌套,還可以是三層嵌套、四層嵌套……不論循環如何嵌套,都可以把內層循環當成外層循環的循環體來對待,區別只是這個循環體中包含了需要反覆執行的代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章