Python里的For循環(huán)和While循環(huán)怎么用呢?
我們繼續(xù)我們的Python基礎(chǔ)的學(xué)習(xí),昨天我們學(xué)習(xí)了字典類(lèi)型的使用以及控制結(jié)構(gòu)里的順序結(jié)構(gòu) if eif條件判斷 while循環(huán)等內(nèi)容,其中while循環(huán)里我們引入了else關(guān)鍵字和break關(guān)鍵字的時(shí)候,那么現(xiàn)在我們?cè)倩仡櫹拢hile循環(huán)是不包含else語(yǔ)句的,加上的else語(yǔ)句模塊是在while正常執(zhí)行完后才執(zhí)行的代碼塊,而如果while內(nèi)部通過(guò)break跳出的循環(huán)不會(huì)執(zhí)行else部分的代碼。
接下來(lái)我們繼續(xù)看看循環(huán)里的另外一種書(shū)寫(xiě)方式,那就是其特有的for循環(huán)。For循環(huán)一般是用來(lái)遍歷一個(gè)可迭代對(duì)象,例如列表、字典、元組、集合、字符串等內(nèi)容,那啥是可迭代元素呢?可迭代元素不是一種具體的類(lèi)型,目前我們接觸的列表、字典、元組、集合、字符串等類(lèi)型都是可迭代元素。后面我們學(xué)習(xí)了面向?qū)ο蠛螅倩剡^(guò)頭來(lái)看這個(gè)可迭代對(duì)象會(huì)好理解些。
那我們用for循環(huán)來(lái)訪問(wèn)下我們學(xué)習(xí)過(guò)的可迭代元素。
For 循環(huán)語(yǔ)法: for 。。。 in 。。。
Pass
跟while循環(huán)一樣,for循環(huán)也可以帶一個(gè)else語(yǔ)句塊,那么當(dāng)for循環(huán)正常執(zhí)行完后就會(huì)執(zhí)行else里的語(yǔ)句塊。如果是中途退出的則不會(huì)執(zhí)行else模塊。例如:


輸出為:

另外無(wú)論是while循環(huán)還是for循環(huán),我們都支持嵌套,也就是實(shí)現(xiàn)多層循環(huán)。下面我們實(shí)現(xiàn)一個(gè)功能:輸出 100以內(nèi)的所有質(zhì)數(shù)。
需求分析:100以內(nèi)我們可以使用一個(gè)循環(huán)來(lái)進(jìn)行控制,那么什么是質(zhì)數(shù)呢?大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)的自然數(shù)。也就是除了1和它本身,不能整除其他的數(shù)。

上面的break執(zhí)行完了會(huì)跳轉(zhuǎn)到哪里去?最后還能打印 質(zhì)數(shù)判斷執(zhí)行完畢 這幾個(gè)字嗎?按照我們先前的理解,如果想打印這行語(yǔ)句,for循環(huán)里不能break跳出的。我們先看下結(jié)果吧:

從上面的結(jié)果看來(lái),break只是結(jié)束了內(nèi)層的循環(huán)。外層循環(huán)沒(méi)有受影響。
先前我們認(rèn)識(shí)了break語(yǔ)句,break適用于循環(huán)體內(nèi),表示終止當(dāng)前的循環(huán),跳出循環(huán)體,未執(zhí)行的循環(huán)語(yǔ)句會(huì)被忽略掉。并且break只能退出一層循環(huán),如果多層循環(huán),直接使用break只能退出當(dāng)前循環(huán),無(wú)法退出外層循環(huán)。
提到break,我們不能忘了continue,這兩個(gè)難兄難弟在初學(xué)者眼里很容易混淆,上面我們用到了break,知道了break可以跳出當(dāng)前循環(huán)。那么continue是干什么用的呢?與break不同,continue是終止當(dāng)前這次循環(huán),不執(zhí)行后續(xù)的代碼,而是進(jìn)入下一個(gè)循環(huán)里,并沒(méi)有直接跳出當(dāng)前循環(huán)。我們用一個(gè)例子來(lái)說(shuō)明下吧。

輸出為


輸出為

通過(guò)上面的例子看到區(qū)別了吧,break直接跳出循環(huán),continue是進(jìn)入下一個(gè)循環(huán)。
基本數(shù)據(jù)類(lèi)型介紹完了,控制結(jié)構(gòu)也介紹完了,那么到現(xiàn)在為止,大家對(duì)python應(yīng)該有一個(gè)初步的認(rèn)識(shí)了,明天我們繼續(xù)學(xué)習(xí)python的面向?qū)ο缶幊獭?/p>




























