<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

  • <button id="2ddn7"><object id="2ddn7"></object></button>
      1. <s id="2ddn7"></s>
        更多課程 選擇中心


        Python培訓

        400-111-8989

        Python while 循環

        • 發布:Python培訓
        • 來源:高效程序員
        • 時間:2019-08-22 13:13

        Python while 循環與 for 循環不同,while 循環會重復執行一系列動作,直到循環條件變為 False。

        while 循環

        通常,當無法預先確定循環的確切次數時,使用 while 循環。

        最簡單的 while 循環,語法格式如下:

        while <expr>: 
        
        <statement(s)>

        <expr> 是一個布爾表達式。

        <statement(s)> 表示要重復執行的代碼塊,通常稱為循環體,用縮進表示。

        首先程序會檢查 <expr>,如果為 True,則執行循環體。然后再次檢查 <expr>,如果仍為 True,則再次執行循環體。這一直持續到 <expr> 為 False,此時程序執行進入循環體之外的第一個語句。

        注意:如果一開始條件就不成立,那么循環體將永遠不會被執行。

        例如,打印 1 到 5 之間的整數:

        n = 0
        
        while n < 5:
        
         += 1
        
        print(n)

        Tips:如果一個變量的值隨著每次新的循環迭代而變化,那么這個變量被稱為計數器。這里,n 就是一個計數器。

        運行程序,會產生以下輸出:

        1
        
        2
        
        3
        
        4
        
        5

        現在,對執行過程進行逐步分解:

        最初 n 是 0,當進入 while 語句時,表達式 n < 5 成立,因此循環體執行,先將 n 加 1 到 1,然后打印出 n 的值。

        當循環體完成時,程序執行返回到 while 循環頂部,并再次計算表達式,它仍然成立,所以循環體再次執行,并打印 2。

        這一直持續到 n 變為 5。此時,當計算表達式時,它不成立,循環因此會終止。

        else 子句

        與 for 循環相同,在 while 循環中也可以有一個可選的 else 子句。

        Tips:從語義上講,else 子句的工作方式與 for 循環中的完全相同(只有在循環不被 break 語句“破壞”時,才會被執行)。

        其語法格式如下:

        while <expr>:
        
        <statement(s)>
        
        else: <statement(s)>

        那么,到底在什么情況下,才會在循環中真正地用到 else 子句呢?

        最常見的情況是:搜索列表中的一個特定項。如果找到了,使用 break 退出循環,else 子句則用于處理沒有找到時的情況:

        colors = ['red', 'green', 'blue']
        
        clr = 'orange'
        
        while i < len(colors):
        
        if colors[i] == clr:
        
        # 找到時的處理
        
        break
        
        i += 1
        
        else:
        
        # 未找到時的處理
        
        print(clr, 'not found')

        運行程序,會產生以下輸出:

        orange not found

        注意:循環中的 else 子句不太常見,甚至看起來有點奇怪。但是,如果能為代碼增加清晰度,也不必刻意去回避它!

        無限循環

        在 while 循環中,語句的執行取決于是否滿足循環條件。當條件一直成立時,循環將會永遠持續下去,這種循環被稱為無限循環。

        循環陷阱

        雖然 while 循環非常強大,但是需要注意一個陷阱:無限循環。

        考慮一下這個例子:

        while True:
        
        print('Have a good day')
        
        很明顯,True 永遠成立。因此,這會啟動一個無限循環。
        
        運行程序,會產生以下輸出:
        
        Have a good day
        
        Have a good day
        
        Have a good day
        
        ...
        
        Traceback (most recent call last):
        
        ...
        
        KeyboardInterrupt

        懊惱了吧!消息會被無休止地打印,直到強制退出(按 Ctrl + C)或世界末日的到來。

        打破無限循環

        無限循環實際上很常見,但必須要確保循環在某個時刻被打破,這樣它才不會真正地無限執行下去。

        在 Python 中,break 語句是打破無限循環的一種常用方法。

        例如,猜測一個人的年齡,直到猜中為止:

        # 待猜中的年齡
        
        my_age = 18
        
        while True: num = int(input('Please enter a number : '))
        
        if num == my_age:
        
        break

        運行程序,會產生以下輸出:

        Please enter a number : 20
        
        Please enter a number : 25
        
        ...
        
        Please enter a number : 30
        
        Please enter a number : 18

        這里,我們引入了一個新的內置函數 - input(),它會向用戶顯示一個提示,并耐心等待內容的輸入。

        如果輸入的數字不是 18,則會一直提示你輸入,直到輸入 18 為止,這時 break 語句就會被調用,從而擺脫無限循環。

        單行 while 循環

        與 if 語句一樣,可以在一行中指定 while 循環。

        如果在循環體中有多個語句,它們可以用分號分隔:

        n = 0
        
        while n < 5: n += 1; print(n)

        但這只適用于簡單語句,不能將兩個復合語句組合成一行。

        假如,像下面這樣:

        n = 0
        
        while n < 5: n += 1; if True: print(n)

        就會報錯:SyntaxError: invalid syntax

        注意:PEP 8 并不鼓勵在一行上使用多個語句,所以即使語法上沒有任何問題,也應該盡量避免。

        免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

        預約申請免費試聽課

        填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

        上一篇:Python二級等級考試相關問題全解答
        下一篇:Python django web學習(一)

        Python中類的屬性有哪幾種

        Python語法你知道多少

        Python 中常見的配置文件寫法

        Python爬蟲可以做什么

        • 掃碼領取資料

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        黑龍江省

        吉林省

        河北省

        湖南省

        貴州省

        云南省

        廣西省

        海南省

        青青青草网站免费观看|青青青视频在线观看 超真实强奷视频在线看 百度 好搜 搜狗
        <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>