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