通過昨天的學習,相信你們已經對python的條件判斷表達式if/else有必定的瞭解了,那麼咱們今天配合昨天的課程講解一個新概念 – while循環 。python
都說程序源於生活,假若有這樣一個場景:老師要求算出1~100之間全部數字的累計求和(槓精說:5050,我百度一下就知道)。git
那換個數字,你給我算出1~9977之間全部的數字累計求和,你再去百度試一試?github
槓精:給我等着,兜裏掏出計算器,papapa,一頓狂按…..5050+100+101+102+103…微信
1ide 2學習 |
while 判斷條件:spa 執行語句……code |
1orm 2blog 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