<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 循環 ## 目標 * 程序的三大流程 * while 循環基本使用 * break 和 continue * while 循環嵌套 ## 01. 程序的三大流程 * 在程序開發中,一共有三種流程方式: * **順序** —— **從上向下**,順序執行代碼 * **分支** —— 根據條件判斷,決定執行代碼的 **分支** * **循環** —— 讓 **特定代碼 重復** 執行 ![](https://pic.downk.cc/item/5e7f192d504f4bcb045b06be.jpg) ## 02. `while` 循環基本使用 * 循環的作用就是讓 **指定的代碼** 重復的執行 * `while` 循環最常用的應用場景就是 **讓執行的代碼** 按照 **指定的次數** **重復** 執行 * 需求 —— 打印 5 遍 `Hello Python` * 思考 —— 如果要求打印 100 遍怎么辦? ### 2.1 `while` 語句基本語法 ```python 初始條件設置 —— 通常是重復執行的 計數器 while 條件(判斷 計數器 是否達到 目標次數): 條件滿足時,做的事情1 條件滿足時,做的事情2 條件滿足時,做的事情3 ...(省略)... 處理條件(計數器 + 1) ``` **注意**: * `while` 語句以及縮進部分是一個 **完整的代碼塊** #### 第一個 while 循環 **需求** * 打印 5 遍 Hello Python ```python # 1. 定義重復次數計數器 i = 1 # 2. 使用 while 判斷條件 while i <= 5: # 要重復執行的代碼 print("Hello Python") # 處理計數器 i i = i + 1 print("循環結束后的 i = %d" % i) ``` > 注意:循環結束后,之前定義的計數器條件的數值是依舊存在的 #### 死循環 > 由于程序員的原因,**忘記** 在循環內部 **修改循環的判斷條件**,導致循環持續執行,程序無法終止! ### 2.2 Python 中的計數方法 常見的計數方法有兩種,可以分別稱為: * **自然計數法**(從 `1` 開始)—— 更符合人類的習慣 * **程序計數法**(從 `0` 開始)—— 幾乎所有的程序語言都選擇從 0 開始計數 因此,大家在編寫程序時,應該盡量養成習慣:**除非需求的特殊要求,否則 循環 的計數都從 0 開始** ### 2.3 循環計算 > 在程序開發中,通常會遇到 **利用循環** **重復計算** 的需求 遇到這種需求,可以: 1. 在 `while` 上方定義一個變量,用于 **存放最終計算結果** 2. 在循環體內部,每次循環都用 **最新的計算結果**,**更新** 之前定義的變量 **需求** * 計算 0 ~ 100 之間所有數字的累計求和結果 ```python # 計算 0 ~ 100 之間所有數字的累計求和結果 # 0. 定義最終結果的變量 result = 0 # 1. 定義一個整數的變量記錄循環的次數 i = 0 # 2. 開始循環 while i <= 100: print(i) # 每一次循環,都讓 result 這個變量和 i 這個計數器相加 result += i # 處理計數器 i += 1 print("0~100之間的數字求和結果 = %d" % result) ``` #### 需求進階 * 計算 0 ~ 100 之間 所有 **偶數** 的累計求和結果 開發步驟 1. 編寫循環 **確認** **要計算的數字** 2. 添加 **結果** 變量,在循環內部 **處理計算結果** ```python # 0. 最終結果 result = 0 # 1. 計數器 i = 0 # 2. 開始循環 while i <= 100: # 判斷偶數 if i % 2 == 0: print(i) result += i # 處理計數器 i += 1 print("0~100之間偶數求和結果 = %d" % result) ``` ## 03. break 和 continue > `break` 和 `continue` 是專門在循環中使用的關鍵字 * `break` **某一條件滿足時**,退出循環,不再執行后續重復的代碼 * `continue` **某一條件滿足時**,不執行后續重復的代碼 > `break` 和 `continue` 只針對 **當前所在循環** 有效 ![](https://pic.downk.cc/item/5e7f1942504f4bcb045b193e.jpg) ### 3.1 break * **在循環過程中**,如果 **某一個條件滿足后**,**不** 再希望 **循環繼續執行**,可以使用 `break` 退出循環 ```python i = 0 while i < 10: # break 某一條件滿足時,退出循環,不再執行后續重復的代碼 # i == 3 if i == 3: break print(i) i += 1 print("over") ``` > `break` 只針對當前所在循環有效 ### 3.2 continue * **在循環過程中**,如果 **某一個條件滿足后**,**不** 希望 **執行循環代碼,但是又不希望退出循環**,可以使用 `continue` * 也就是:在整個循環中,**只有某些條件**,不需要執行循環代碼,而其他條件都需要執行 ```python i = 0 while i < 10: # 當 i == 7 時,不希望執行需要重復執行的代碼 if i == 7: # 在使用 continue 之前,同樣應該修改計數器 # 否則會出現死循環 i += 1 continue # 重復執行的代碼 print(i) i += 1 ``` * 需要注意:使用 `continue` 時,**條件處理部分的代碼,需要特別注意**,不小心會出現 **死循環** > `continue` 只針對當前所在循環有效 ## 04. `while` 循環嵌套 ### 4.1 循環嵌套 * `while` 嵌套就是:`while` 里面還有 `while` ```python while 條件 1: 條件滿足時,做的事情1 條件滿足時,做的事情2 條件滿足時,做的事情3 ...(省略)... while 條件 2: 條件滿足時,做的事情1 條件滿足時,做的事情2 條件滿足時,做的事情3 ...(省略)... 處理條件 2 處理條件 1 ``` ### 4.2 循環嵌套演練 —— 九九乘法表 #### 第 1 步:用嵌套打印小星星 **需求** * 在控制臺連續輸出五行 `*`,每一行星號的數量依次遞增 ``` * ** *** **** ***** ``` * 使用字符串 * 打印 ```python # 1. 定義一個計數器變量,從數字1開始,循環會比較方便 row = 1 while row <= 5: print("*" * row) row += 1 ``` #### 第 2 步:使用循環嵌套打印小星星 **知識點** 對 `print` 函數的使用做一個增強 * 在默認情況下,`print` 函數輸出內容之后,會自動在內容末尾增加換行 * 如果不希望末尾增加換行,可以在 `print` 函數輸出內容的后面增加 `, end=""` * 其中 `""` 中間可以指定 `print` 函數輸出內容之后,繼續希望顯示的內容 * 語法格式如下: ```python # 向控制臺輸出內容結束之后,不會換行 print("*", end="") # 單純的換行 print("") ``` > `end=""` 表示向控制臺輸出內容結束之后,不會換行 **假設** `Python` **沒有提供** 字符串的 `*` 操作 **拼接字符串** **需求** * 在控制臺連續輸出五行 `*`,每一行星號的數量依次遞增 ``` * ** *** **** ***** ``` **開發步驟** * 1> 完成 5 行內容的簡單輸出 * 2> 分析每行內部的 `*` 應該如何處理? * 每行顯示的星星和當前所在的行數是一致的 * 嵌套一個小的循環,專門處理每一行中 `列` 的星星顯示 ```python row = 1 while row <= 5: # 假設 python 沒有提供字符串 * 操作 # 在循環內部,再增加一個循環,實現每一行的 星星 打印 col = 1 while col <= row: print("*", end="") col += 1 # 每一行星號輸出完成后,再增加一個換行 print("") row += 1 ``` #### 第 3 步: 九九乘法表 **需求** 輸出 九九乘法表,格式如下: ``` 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81 ``` **開發步驟** * 1. 打印 9 行小星星 ``` * ** *** **** ***** ****** ******* ******** ********* ``` * 2. 將每一個 `*` 替換成對應的行與列相乘 ```python # 定義起始行 row = 1 # 最大打印 9 行 while row <= 9: # 定義起始列 col = 1 # 最大打印 row 列 while col <= row: # end = "",表示輸出結束后,不換行 # "\t" 可以在控制臺輸出一個制表符,協助在輸出文本時對齊 print("%d * %d = %d" % (col, row, row * col), end="\t") # 列數 + 1 col += 1 # 一行打印完成的換行 print("") # 行數 + 1 row += 1 ``` **字符串中的轉義字符** * `\t` 在控制臺輸出一個 **制表符**,協助在輸出文本時 **垂直方向** 保持對齊 * `\n` 在控制臺輸出一個 **換行符** > **制表符** 的功能是在不使用表格的情況下在 **垂直方向** 按列對齊文本 | 轉義字符 | 描述 | | --- | --- | | \\\\ | 反斜杠符號 | | \\' | 單引號 | | \\" | 雙引號 | | \n | 換行 | | \t | 橫向制表符 | | \r | 回車 |
                  <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>

                              哎呀哎呀视频在线观看