Python(for和while)循環嵌套及用法

2021-03-02 編程小可愛

Python 不僅支持 if 語句相互嵌套,while 和 for 循環結構也支持嵌套。所謂嵌套(Nest),就是一條語句裡面還有另一條語句,例如 for 裡面還有 for,while 裡面還有 while,甚至 while 中有 for 或者 for 中有 while 也都是允許的。

當 2 個(甚至多個)循環結構相互嵌套時,位於外層的循環結構常簡稱為外層循環或外循環,位於內層的循環結構常簡稱為內層循環或內循環。

循環嵌套結構的代碼,Python 解釋器執行的流程為:

當外層循環條件為 True 時,則執行外層循環結構中的循環體;

外層循環體中包含了普通程序和內循環,當內層循環的循環條件為 True 時會執行此循環中的循環體,直到內層循環條件為 False,跳出內循環;

如果此時外層循環的條件仍為 True,則返回第 2 步,繼續執行外層循環體,直到外層循環的循環條件為 False;

當內層循環的循環條件為 False,且外層循環的循環條件也為 False,則整個嵌套循環才算執行完畢。


循環嵌套的執行流程圖如圖 1 所示:

圖 1 循環嵌套的執行流程圖

下面程序演示了 while-for 嵌套結構:

i = 0while i<10:    for j in range(10):        print("i=",i," j=",j)           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)結構之間,也可以相互嵌套,舉個例子:

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

也就是說,只要場景需要,判斷結構和循環結構之間完全可以相互嵌套,甚至可以多層嵌套。

相關焦點

  • python循環語句,while循環嵌套列印九九乘法表
    while循環嵌套前面學習過if的嵌套了,想一想if嵌套是什麼樣子的?類似if的嵌套,while嵌套就是:while裡面還有while<1>while嵌套的格式while 條件1:條件1滿足時,做的事情1條件1滿足時,做的事情2
  • python while循環、數據類型
    1.方法1、嵌套將一系列字典存儲在列表中,或將列表作為值存儲在字典中,這成為嵌套2、range(數字)返回一系列數字,設定循環多少次3、append()末尾添加4、items()以列表的形式返回可遍歷的(鍵值)元組數值。
  • python循環語句for和while用法-py猜數字小遊戲-學習python第4天
    而python程序遇到循環,重複的問題時,就需要使用python循環語句for-in循環或者while循環來解決。這兩者有什麼區別以及如何使用呢?下面羽憶教程為你解答。python循環語句有哪些為了解決重複性的代碼工作,就需要使用到python循環語句,而python循環語句主要有兩種:for-in循環和while循環。這兩種循環語句可以幫助我們解決大部分的問題,例如用它來求1到1000之間偶數的和,簡單到1秒內輸出。而它們應該如何使用呢?
  • python:控制流程-while循環
    #一. while循環1.continue的用法:for i in range(21):if i % 5 == 0:continueprint(i)else:print('輸出結束')注意:循環可以被終止:1. 通過break終止循環 2.
  • Python循環嵌套案例-列印九九乘法表
    今天我們來學習一個簡單的循環嵌套的例子,循環嵌套作為Python開發中比較重要的一個知識點,往往能夠用它實現很多實用的功能。Python中的循環語法主要是while ...和for ... in ...這兩種。循環嵌套的意思就是在循環中裝入一個或者多個循環,實現多個循環嵌套使用。
  • Python for循環及用法詳解
    Python 中的循環語句有 2 種,分別是 while 循環和 for 循環,前面章節已經對 while 做了詳細的講解,本節給大家介紹 for
  • Python中的while循環
    # Python 編程中 while 語句用於循環執行程序,即在某條件下,循環執行某段程序,以處理需要重複處理的相同任務。 # while中執行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。當判斷條件假 false 時,循環結束。
  • Python while循環語句詳解
    Python 中,while 循環和 if 條件分支語句類似,即在條件(表達式)為真的情況下,會執行相應的代碼塊。
  • Python基礎教程之循環語句的使用
    # 循環## 目標* 程序的三大流程* while 循環基本使用* break 和 continue* while 循環嵌套## 01.和 `continue` 是專門在循環中使用的關鍵字* `break` **某一條件滿足時**,退出循環,不再執行後續重複的代碼* `continue` **某一條件滿足時**,不執行後續重複的代碼> `break` 和 `continue` 只針對 **當前所在循環
  • 跟我學java編程—深入理解while嵌套
    就像if語句可以嵌套一樣,一個循環也可以嵌套在另一個循環中,一個循環中含有另一個循環就稱為嵌套循環。嵌套循環的工作原理如下:首先外循環的第一輪觸發內循環,然後內循環將一直執行到完成為止,然後,外循環的第二輪再次觸發內循環,此過程不斷重複直到外循環結束,使用嵌套循環時,只有在內循環完全結束後,外循環才會執行下一趟循環,一個while循環可以嵌套在另一個while循環中,示例1演示了嵌套while循環的用法。示例1:用*輸出一個直角三角形圖案。
  • Python基礎-While循環語句
    1. while循環語句作用:實現特定代碼重複執行格式:while 條件: 重複執行的一行或多行代碼>解釋:Python 每次會判斷 while 關鍵字後面的條件是否為真, 如果為真, 則執行 while 下面的一行或多行代碼, 直到不滿足條件, 循環執行結束.
  • python入門第八課:while循環和用戶輸入
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節介紹python中如何與用戶進行交互,同時學習另外一個循環運算符while。循環結算,可以這麼改造一下:name = ''while name !
  • 嵌套(二)
    Python 不僅支持 if 語句之間的相互嵌套,while 和 for 循環結構也是支持嵌套的。
  • Python入門,while循環語句
    今天學習while嵌套式循環,老師給了每個月供1千,供30年的循環例子好可怕,看到最後累積的總數是很可怕,貸款讓很多人成為了房奴。說回while,這個語句相比for的不同是,它的停止條件是人定的。話不多說,上代碼:i=1w=0while i<=30:print('第',i,'年到了')j = 0while j<12:
  • Python中break語句用法詳解!
    這篇文章主要介紹了詳解Python中break語句的用法,是Python入門的呼出知識,需要的朋友可以參考下 在Python中的break
  • Python條件語句和循環語句
    循環語句的一般形式如下:在 Python 提供了 for 循環和 while 循環。這裡又有一個問題了,如果我想讓他運行了一百次之後停止,那該怎麼做呢?5、for 循環和 whlie 循環的區別之前也提到過了,如果一種語法能表示一個功能,那沒必要弄兩種語法來表示。竟然都是循環,for 循環和 while 循環肯定有他們的區別的。
  • 小開帶你學C++|Lesson 8 do-while,二維數組和循環嵌套
    循環,有時候可以用來代替for循環。這次我們來學習do-while循環和循環嵌套。先來看do-while循環的寫法:int c=1,a=10;do{ c++;a--;}while(a>=0);很顯然,do裡的內容就是符合while條件的時候的內容。唯一的區別是,while循環是先判斷條件符不符合,然後在執行命令。
  • Python基礎知識儲備,如何開關一個while循環
    循環的三要素包括:循環變量:控制循環,並控制循環結束的條件,每次循環變量都會變化;循環體:反覆執行的動作;循環終止條件:循環結束的條件,和循環變量有直接關係。,只有循環可以用單個字母定義變量sum_of_number = 0 # 循環存儲的累加之和while i <= num01:if i % 3 == 0:
  • while循環簡介(1)
    使用while循環我們可以使用while循環來進行數數,例如,下面這個while循環從1數到5:一旦current_number的值大於5,循環將停止,整個程序也到此結束:我們每天使用的程序中很可能就包含while循環,例如遊戲使用while循環,確保玩家在想玩的時候不斷運行,並在玩家想退出的時候停止運行。如果程序在用戶沒有讓他停止時停止運行,或者在用戶要退出時還繼續運行,那就太沒有意思了;有鑑於此,while循環就顯得很有用。
  • 零基礎學編程python第十課,for……in循環語句與while循環語句
    很高興又和大家見面了。上一課,我們學習了兩種新的數據類型: 列表與字典。這節課,帶大家來學習一下【循環】,什麼是循環? 就是把一件事情一遍又一遍重複做多遍。再強調一下for循環的格式:好了,到這裡就掌握了for循環的用法。你嘗試下使用for循環該如何操作?試一下。