您好,登錄后才能下訂單哦!
經過昨天的學習,相信大家已經對python的條件判斷表達式if/else有一定的了解了,那么我們今天配合昨天的課程講解一個新概念 –?while循環?。
都說程序源于生活,假如有這樣一個場景:老師要求算出1~100之間所有數字的累計求和(杠精說:5050,我百度一下就知道)。
那換個數字,你給我算出1~9977之間所有的數字累計求和,你再去百度試一試?
杠精:給我等著,兜里掏出計算器,papapa,一頓狂按…..5050+100+101+102+103…
?
1 2 | while 判斷條件: ????執行語句…… |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個人博客地址): shuopython.com @WeChat Official Account(微信公眾號):猿說python @Github:www.github.com
@File:while循環.py @Time:2019/9/19 21:22 ? @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! """ ? a = 1 while a < 10: # 當 a >= 10 時,條件不成立 ????print(a) ????a += 2??# 等價 a = a + 2 |
輸出:1 3 5 7 9,下面是詳細執行流程
分析下上面代碼:while 之后是條件表達式,如果為真,會繼續執行while內的代碼,執行完所有while內的代碼又重新回到第二行,檢查 a < 10 是否成立,當a <10 條件不成立時,跳出while循環,由于循環之外沒有任何代碼,直接退出程序。
看完上面代碼,我們來一起完成文章開始的問題,1~9977之間所有的數字累計求和,代碼如下:
1 2 3 4 5 6 7 8 9 10 11 | a = 1 sum = 0 while a < 9977: ????# 當a >= 9977 時條件不成立,跳出循環, ????# a 的值每次加1,如果要 >= 9977 ,意味著要循環 9977 次 ????# print(a) ????a += 1?? # 等價 a = a + 1,a的值每次累計加 1 ????sum += a # 等價 sum = sum + a ? print("while循環一共執行了 %d 次" % a)??# a 的值每次加1 , print("1~99777之間所有的數字累計求和的結果是:{}".format(sum)) |
輸出結果:
1 2 | while循環一共執行了 9977 次 1~9977之間所有的數字累計求和的結果是:49775252 |
?
文章看到這里,可能有些小伙伴就有想法了,要是我條件始終成立,始終為True呢~
恭喜你,程序卡死了,退不出來了,比如下面代碼:
1 2 | while True: ????print("程序啥時候結束就啥時候去吃飯") |
輸出結果:
1 2 3 4 5 6 | 程序啥時候結束就啥時候去吃飯 程序啥時候結束就啥時候去吃飯 程序啥時候結束就啥時候去吃飯 程序啥時候結束就啥時候去吃飯 程序啥時候結束就啥時候去吃飯 .........(無限循環,直到海枯石爛,直到天荒地老,直到你禿頂) |
如何解決上面死循環問題,我們留到下一篇文章繼續講解,傳送門:python教程 – 關于循環中使用break/continue
?
while循環是python開發中必不可少的,其實使用也比較簡單,需要牢牢掌握。
?
1.python運算符
2.關于循環中使用break/continue
?
轉載請注明:猿說Python???python while
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。