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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## 循環 ### 引入 要計算`1+2+3`,我們可以直接寫表達式: ~~~ >>> 1 + 2 + 3 6 ~~~ 要計算`1+2+3+...+10`,勉強也能寫出來。 但是,要計算`1+2+3+...+10000`,直接寫表達式就不可能了。 為了讓計算機能計算成千上萬次的重復運算,我們就需要循環語句。 ### 兩種循環 #### for...in Python的循環有兩種,一種是`for...in`循環,依次把`list`或`tuple`中的每個元素迭代出來,看例子: ~~~ names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name) ~~~ 執行這段代碼,會依次打印names的每一個元素: ~~~ Michael Bob Tracy ~~~ 所以`for x in ...`循環就是把每個元素代入變量`x`,然后執行縮進塊的語句。 再比如我們想計算`1-10`的整數之和,可以用一個sum變量做累加: ~~~ sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum) ~~~ ##### range() 生成序列 list 如果要計算`1-100`的整數之和,從`1`寫到`100`有點困難,幸好Python提供一個`range()`函數,可以生成一個整數序列,再通過list()函數可以轉換為list。比如`range(5)`生成的序列是從0開始小于5的整數: >[warning]制書作者留:注意與其他語言中的 range() 區別 ~~~ >>> list(range(5)) [0, 1, 2, 3, 4] ~~~ `range(101)`就可以生成`0-100`的整數序列,計算如下: ~~~ sum = 0 for x in range(101): sum = sum + x print(sum) ~~~ 請自行運行上述代碼,看看結果是不是當年高斯同學心算出的`5050`。 #### while 循環 第二種循環是`while`循環,只要條件滿足,就不斷循環,條件不滿足時退出循環。比如我們要計算`100`以內所有奇數之和,可以用`while`循環實現: ~~~ sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum) ~~~ 在循環內部變量`n`不斷自減,直到變為`-1`時,不再滿足while條件,循環退出。 ### 練習1 #### 請利用循環依次對list中的每個名字打印出Hello, xxx!: - 使用 for...in ~~~ # -*- coding: utf-8 -*- L = ['Bart', 'Lisa', 'Adam'] for x in L: print(x) ~~~ - 使用 while ### break 聚會的破壞者 在循環中,`break`語句可以提前退出循環。例如,本來要循環打印`1~100`的數字: ~~~ n = 1 while n <= 100: print(n) n = n + 1 print('END') ~~~ 上面的代碼可以打印出`1~100`。 如果要提前結束循環,可以用`break`語句: ~~~ n = 1 while n <= 100: if n > 10: # 當n = 11時,條件滿足,執行break語句 break # break語句會結束當前循環 print(n) n = n + 1 print('END') ~~~ 執行上面的代碼可以看到,打印出`1~10`后,緊接著打印`END`,程序結束。 可見`break`的作用是提前結束循環。 ### continue 聚會的挑選者 在循環過程中,也可以通過`continue`語句,跳過當前的這次循環,直接開始下一次循環。 ~~~ n = 0 while n < 10: n = n + 1 print(n) ~~~ 上面的程序可以打印出`1~10`。但是,如果我們想只打印奇數,可以用`continue`語句跳過某些循環: ~~~ n = 0 while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶數,執行continue語句 continue # continue語句會直接繼續下一輪循環,后續的print()語句不會執行 print(n) ~~~ 執行上面的代碼可以看到,打印的不再是`1~10`,而是`1,3,5,7,9`。 可見`continue`的作用是提前結束本輪循環,并直接開始下一輪循環。 ### 小結 #### 循環是讓計算機做重復任務的有效的方法。 #### break語句,continue語句 break語句可以在循環過程中直接退出循環,而continue語句可以提前結束本輪循環,并直接開始下一輪循環。這兩個語句通常都必須配合if語句使用。 要特別注意,不要濫用break和continue語句。break和continue會造成代碼執行邏輯分叉過多,容易出錯。大多數循環并不需要用到break和continue語句,上面的兩個例子,都可以通過改寫循環條件或者修改循環邏輯,去掉break和continue語句。 ### 死循環情況的處理 >[warning]有些時候,如果代碼寫得有問題,會讓程序陷入“死循環”,也就是永遠循環下去。這時可以用`Ctrl+C`退出程序,或者強制結束Python進程。 ### 請試寫一個死循環程序。 參考代碼: ~~~ # -*- coding: utf-8 -*- x = 0 while x < -1: print('死循環') ~~~
                  <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>

                              哎呀哎呀视频在线观看