<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Python 循環 > 原文: [https://javabeginnerstutorial.com/python-tutorial/python3-loops-2/](https://javabeginnerstutorial.com/python-tutorial/python3-loops-2/) Python 循環允許循環遍歷程序代碼并重復代碼塊,直到滿足或不滿足給定條件。 重復的代碼稱為循環的主體。 Python 有兩種循環類型:`for`循環和`while`循環。 循環中的變量會在每次執行循環主體時更改其值,這些變量必須用作循環頭部或主體中的條件以中斷流程。 如果循環中沒有終止條件,則可能會遇到無限循環或永無止境的循環,永不終止,您必須手動終止應用。 這些循環大多數是通過`while`構造實現的。 讓我向您展示示例: ```py while True: print('I love Python!') i = 0 while i < 1: print('I love Python!') ``` 在第一個示例中,循環的開頭有一個條件,條件始終為`True`,因此程序將永遠將“我愛 Python”打印到控制臺。 此循環永遠不會終止。 第二個循環比較棘手,因為我在循環的開頭使用了一個變量。 如果`i`的值一次大于 1,則該循環最終將終止。 但是,由于循環的主體只會在控制臺上打印,因此永遠不會發生。 讓我們詳細研究一下循環類型,以了解循環的工作方式以及如何避免無限循環。 **還有一個關于循環的**好事:如果不再滿足循環頭中的條件,它們可以處理`else`塊,該塊將被執行。 這是一個新的編程結構,對于經典的編程語言的程序員來說似乎很奇怪,因為經典的編程語言的循環沒有其他部分。 ## 修改循環主體中的控制流 在深入探討循環之前,我們需要了解兩種可修改循環控制流程的構造。 這些是突破并繼續。 讓我們看一下它們的總體工作原理,然后在有關循環本身的部分中使用示例。 ### `break` 顧名思義,`break`語句會跳出循環。 大多數情況下,如果不應再繼續循環,則在條件塊內停止循環。 此語句立即結束循環,因此不再執行任何語句-在`break`語句和循環的`else`部分之后不在循環體內,也未執行。 ```py while / for some_condition: execute_this do_this break this_does_not_executed this_neither else: this_is_leaved_behind this_too ``` 在上面的示例中,我沒有包括任何有條件的突破循環來演示語句的工作的條件。 ### `continue` 與`break`語句平行,您可以告訴循環再次從頭繼續執行。 這意味著`continue`語句后面的任何其他語句都不會執行,但是,循環將繼續,直到循環頭部的條件計算為`False`為止。 在這種情況下,循環的`else`塊在循環結束時執行。 ```py while / for some_condition: execute_this do_this continue this_does_not_executed this_neither else: this_is_executed_at_the_end this_too ``` 現在,我們準備通過示例看一下循環本身。 你準備好了嗎? 為什么不? ## `for`循環 `for`循環旨在遍歷集合或在有限的時間內執行循環主體。 循環的一般語法如下所示: ```py for variable in sequence: statement_1 statement_2 ... statement_n else: else_statement_1 else_statement_2 ... else_statement_m ``` 當然,`else`塊是可選的,因為在`for`循環的主體中僅需要一個語句。 讓我們舉一個真實的示例: ```py >>> for m in menu: ... print(m) ... else: ... print("What do you want?") ... eggs sausage bacon spam What do you want? ``` 在上面的示例中,for 循環遍歷列表中的元素,并將每個元素輸出到控制臺。 循環完成后,else 塊將執行一次。 ### 范圍 在上面的示例中,一次又一次地定義數字列表似乎很麻煩。 這是 Python,因此必須有一些可利用開發人員的構造方法。 這是`range`函數。 該函數需要一個參數:停止值; 和兩個可選參數:`start`和`step`。 如果提供了唯一停靠點,則`range`函數會生成一個從數字 0 到停靠點數字(不包括停靠點數字)的范圍,步長為 1。 ```py >>> for i in range(10): ... print(i) ... 0 1 2 3 4 5 6 7 8 9 ``` 如您在上面的示例中看到的那樣,數字以 0 到 9 的步長打印從 0 到 9。 如果提供了起始參數,則`range`函數會在起始編號和終止編號之間創建一個范圍(同樣,終止編號是唯一的)。 如果起始編號大于或等于終止編號,則不執行循環。 ```py >>> for i in range(15,20): ... print(i) ... 15 16 17 18 19 >>> for i in range(25,10): ... print(i) ... ``` 該步驟定義了要忽略的元素數,或者即使起始編號大于終止編號也要跳過起始和終止之間的編號。 在這種情況下,您必須提供步驟 -1。 ```py >>> for i in range(1,10,2): ... print(i) ... 1 3 5 7 9 >>> for i in range(10,1,-1): ... print(i) ... 10 9 8 7 6 5 4 3 2 ``` 如您所見,范圍函數用于執行循環有限的次數。 ### 循環中斷和繼續 現在我們了解了`for`循環的基礎,讓我們添加已知的控制流修改:中斷并繼續。 正如我之前告訴您的,如果您使用`break`,則整個循環將終止。 您還記得從本節開始的`for`循環示例嗎? 現在,我們向其添加一個條件,以便在我們迭代通過的元素為“垃圾郵件”時打破該條件: ```py >>> menu = ['eggs', 'sausage', 'bacon', 'spam'] >>> for m in menu: ... if m == 'spam': ... break ... print(m) ... else: ... print("What do you want?") ... eggs sausage bacon >>> menu = ['eggs', 'sausage', 'bacon', 'spam'] >>> for m in menu: ... print(m) ... break ... else: ... print("What do you want?") ... eggs ``` 如果是`for`循環,`Continue`跳回到循環的開頭,它跳到集合的下一個元素。 如果集合為空,則循環結束,然后執行`else`循環。 我們再來看兩個示例:一個帶有條件繼續,另一個帶有自己的繼續。 ```py >>> menu = ['eggs', 'sausage', 'bacon', 'spam'] >>> for m in menu: ... if m == 'spam': ... continue ... print(m) ... else: ... print("What do you want?") ... eggs sausage bacon What do you want? >>> menu = ['eggs', 'sausage', 'bacon', 'spam'] >>> for m in menu: ... continue ... print(m) ... else: ... print("What do you want?") ... What do you want? ``` 如您所見,`continue`和`break`之間的主要區別在于循環的流程:第一個循環返回并遍歷其余元素,第二個循環終止整個循環。 當然,您可以將兩者結合在一起以擁有自己的正確控制流程。 ### 有副作用的循環 當然,將`for`循環與列表一起使用時,您會產生副作用。 這是因為您要遍歷的集合不是一成不變的,因此您可以在循環期間更改其值,這可能導致意外行為。 讓我們來看一個示例: ```py >>> l = ['eggs'] >>> for e in l: ... if e == 'eggs': ... l += ['sausage'] ... if e == 'sausage': ... l += 'spam' ... print(e) ... eggs sausage s p a m >>> l ['eggs', 'sausage', 's', 'p', 'a', 'm'] ``` 如您所見,我們在`for`循環執行期間修改了列表,因此當循環結束并返回到頭進行求值時,它在列表中找到了新元素,因此循環繼續執行。 為了避免這種情況,我們可以使用列表的副本在循環中進行迭代: ```py >>> l = ['eggs'] >>> for e in l[:]: ... if e == 'eggs': ... l += ['sausage'] ... if e == 'sausage': ... l += 'spam' ... print(e) ... eggs ``` ## `while`循環 `while`循環旨在無限期地執行循環的主體,直到達到條件為止。 使用`for`循環,您只能執行有限數量的音調(取決于列表或您提供給它的范圍)。 并且由于`while`循環需要條件語句,因此您可以輕松地創建無限循環(如循環簡介中所述)。 讓我們看看`while`循環是如何建立的: ```py while condition_evaluates_to_True: statement_1 statement_2 ... statement_n else: else_statement_1 else_statement_2 ... else_statement_m ``` 如您所見,該結構與`for`循環幾乎相同,但是在這里,您需要一個布爾條件,即計算結果為`True`。 `else`塊是相同的,并在循環正常終止時執行。 如果在循環主體中遇到中斷,則不會執行`else`塊。 ```py >>> i = 0 >>> while i < 10: ... i += 1 ... else: ... print("Finished loop, i has the value of ", i) ... Finished loop, i has the value of 10 ``` `while`循環的主要用法是在具有用戶交互作用的游戲或應用中,例如,您需要獲取特定類型的輸入(例如數字)或要執行邏輯直到游戲結束。 讓我們看一個簡單的示例,在該示例中,我們要求用戶輸入數字。 ```py while True: try: a = int(input('Enter a number: ')) except ValueError: print("This was not a number!") continue break print("You entered: ", a) ``` 如本例所示,如果用戶未輸入數字,則應用將打印出“這不是數字!” 由于執行了`continue`語句,它再次執行了循環。 如果輸入可以轉換為數字,則`break`語句將終止無盡的`while`循環。 如果您運行該應用,則可能會得到以下信息: ```py Enter a number: enter This was not a number! Enter a number: a This was not a number! Enter a number: number This was not a number! Enter a number: 23j This was not a number! Enter a number: 42 You entered: 42 ``` ### while 循環中斷和繼續 ```py >>> i = 0 >>> while i < 10: ... continue ... i += 1 ... else: ... print("Finished loop, i has the value of ", i) ... ``` 這段代碼不會停止,因為我永遠不會遞增,因此在繼續調用表達式`i < 10`之后,它會被一次又一次地賦值為`False`,因此循環將無限執行。 如果啟動了上面的示例,則可以通過按鍵盤上的`CTRL-C`來停止它。 ```py >>> i = 0 >>> while i < 10: ... break ... i += 1 ... else: ... print("Finished loop, i has the value of ",i) ... >>> i 0 ``` 如您所見,使用`break`時,`else`塊不會執行。 在上面的示例中,`i`的值完全沒有變化。 自然,這些只是帶有`break`和`Continue`的基本示例,大多數時候,您在條件表達式中使用它們。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看