計算機發(fā)明出來的一個很重要的目的就是替人去做重復(fù)勞動的,到底怎么讓計算機一直做重復(fù)的某件事呢?
我們來看看這節(jié)課的主題,while循環(huán)。while循環(huán)的格式是這樣的。首先寫一個while,后面再跟條件,然后和if判斷一樣寫一個冒號敲回車,再縮進子代碼塊。
運行的流程我也大致的畫了一下。
執(zhí)行到while循環(huán)的時候,先會判斷條件,如果條件成立結(jié)果為True,就會執(zhí)行子代碼塊,子代碼執(zhí)行完之后,再回頭進行條件判斷,成立則繼續(xù)執(zhí)行子代碼塊。如果條件一直成立,則會一直運行子代碼塊,直到條件變成False之后,這個while循環(huán)就結(jié)束了。
現(xiàn)在來嘗試寫一個小例子。
首先定義一個用來做條件判斷的變量,numbers=0,然后再寫一個while,后面跟條件。注意這個條件前面講過,它可以是大于、小于、等于這些比較運算得到的顯示布爾值,也可以是字符串、數(shù)字、列表、字典這些隱式布爾值,這里就寫<10,冒號回車。
條件成立就打印一下這個numbers。打印發(fā)現(xiàn)它一直在循環(huán)打印0,這樣就是陷入死循環(huán)了,因為這個numbers沒有變化永遠是0 。
這兩行代碼可以這么解釋,第一行先定義numbers=0,第二行就是如果numbers小于10,Python解釋判斷是不是小于10,成立了就是小于10,那么第三行就一直打印numbers,就是0。
死循環(huán)有時候會有效率問題,我們下章再講死循環(huán)。
現(xiàn)在我們來看,如果我想要循環(huán)一定的次數(shù)之后自動退出循環(huán),該怎么寫?一定要先把條件設(shè)置成動態(tài)變化的,怎么設(shè)置呢?
很簡單,我在子代碼塊里面加一行代碼,numbers=numbers+1,這個代碼就是把原來numbers的值加上1,再賦值給numbers。還有一種更簡單的方式,numbers+=1。這個和上面的是一模一樣的功能。
我再把第一次到第10次的循環(huán)判斷數(shù)字給你解釋清楚。
第一次循環(huán)。
第二次循環(huán)。
第三次循環(huán)。
第九次循環(huán)。
第十次循環(huán)。
我們再來打印一下是不是按照注釋的邏輯進行打印的。結(jié)果就是最后打印了9,最后一次相當于9+1=10條件不成立,最后就結(jié)束程序。
最后我們在while外面加長一句‘over’。作為while循環(huán)的正式結(jié)束。
最后我再說一句,死循環(huán)會傷害電腦性能,最后導(dǎo)致電腦死機。為了保護你們幾萬塊的電腦,最好不要出現(xiàn)死循環(huán)的情況。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python while循環(huán)用法