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