前端兩分鐘 2018-08-14 22:48:17 首先說(shuō)下循環(huán)的需求場(chǎng)景,假如你想計(jì)算1-10的所有數(shù)字的和,該怎么用程序計(jì)算?1+2+3+4+5+...+10來(lái)計(jì)算?好,可以,“+”號(hào)運(yùn)算符用的不錯(cuò),那么,我要算1-100的和呢?不要告訴我你要手敲到100?(笑哭的表情),這時(shí),循環(huán)語(yǔ)句就派上極大的用場(chǎng)啦?。。?/p> 那么,先對(duì)她進(jìn)行一番介紹吧(像了解女(男)朋友那樣循序漸進(jìn),表著急)~~ 循環(huán)語(yǔ)句允許我們執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句組多次,也就是說(shuō),只要你不讓程序停下來(lái),它可以一直執(zhí)行到“天荒地老”。當(dāng)然,一般都是要有ending的,一直陷入“死循環(huán)”的程序,是有問(wèn)題的。 循環(huán)的類型有3種,但主要的寫法有2種寫法,下圖中的“嵌套循環(huán)”是在while和for循環(huán)的基礎(chǔ)上進(jìn)行嵌套產(chǎn)生的,代表Python支持這種2種循環(huán)一層套一層的寫法。 Python的循環(huán)主要有兩種1.for...in循環(huán),依次把list或tuple中的每個(gè)元素迭代出來(lái),看例子:
執(zhí)行這段代碼,會(huì)依次打印names的每一個(gè)元素:
所以for x in ...循環(huán)就是把每個(gè)元素代入變量x,然后執(zhí)行縮進(jìn)塊的語(yǔ)句。 再比如我們想計(jì)算1-10的整數(shù)之和,可以用一個(gè)sum變量做累加:
當(dāng)然,如果覺得用數(shù)組的方式有點(diǎn)麻煩,比如要計(jì)算1-100的整數(shù)之和,從1寫到100有點(diǎn)困難,幸好Python提供一個(gè)range()函數(shù),可以生成一個(gè)整數(shù)序列,再通過(guò)list()函數(shù)可以轉(zhuǎn)換為list。比如range(5)生成的序列是從0開始小于5的整數(shù):
range(101)就可以生成0-100的整數(shù)序列,計(jì)算如下:
2.while循環(huán) 只要條件滿足,就不斷循環(huán),條件不滿足時(shí)退出循環(huán)。比如我們要計(jì)算100以內(nèi)所有奇數(shù)之和,可以用while循環(huán)實(shí)現(xiàn):
在循環(huán)內(nèi)部變量n不斷自減,直到變?yōu)?1時(shí),不再滿足while條件,循環(huán)退出。 至于第三種嵌套循環(huán)的用法,下面舉個(gè)栗子:(這里加入了條件判斷語(yǔ)句,與上一篇文章所學(xué)融會(huì)貫通) 以下實(shí)例使用了嵌套循環(huán)輸出2~50之間的素?cái)?shù):
以上實(shí)例輸出結(jié)果:
顯然上面的程序里有2個(gè)while循環(huán),假如有2個(gè)for循環(huán)也是可以作為嵌套循環(huán)的。 那么,假如循環(huán)程序在執(zhí)行到特定的值時(shí)要進(jìn)行特定的操作該怎么辦呢?比如,我想在1-100求和時(shí),當(dāng)值為10時(shí)結(jié)束循環(huán),或者打印出特定的提示信息,又或者直接跳過(guò)10不加了,這就需要用到循環(huán)的控制語(yǔ)句了,且看下圖: 1.break 如果要提前結(jié)束循環(huán),可以用break語(yǔ)句:
本來(lái)要循環(huán)打印1~100的數(shù)字: 執(zhí)行上面的代碼可以看到,打印出1~10后,緊接著打印END,程序結(jié)束。 2.continue 在循環(huán)過(guò)程中,也可以通過(guò)continue語(yǔ)句,跳過(guò)當(dāng)前的這次循環(huán),直接開始下一次循環(huán)。
上面的程序可以打印出1~10。但是,如果我們想只打印奇數(shù),可以用continue語(yǔ)句跳過(guò)某些循環(huán):
執(zhí)行上面的代碼可以看到,打印的不再是1~10,而是1,3,5,7,9。 可見continue的作用是提前結(jié)束本輪循環(huán),并直接開始下一輪循環(huán)。 3.pass pass是空語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性。 pass 不做任何事情,一般用做占位語(yǔ)句。舉個(gè)栗子啦~
執(zhí)行結(jié)果為:
老鐵們,大佬們,今天就給大家介紹到這里啦~~有興趣的可以加關(guān)注或點(diǎn)贊轉(zhuǎn)發(fā)給朋友喲~【愛他(她)就讓他(她)去搬磚吧】 敬請(qǐng)期待~~你我一同進(jìn)步?。?!有任何問(wèn)題皆可留言詢問(wèn)~~謝各位大佬關(guān)注??! |
|