Python里的For循環和While循環怎么用呢?
我們繼續我們的Python基礎的學習,昨天我們學習了字典類型的使用以及控制結構里的順序結構 if eif條件判斷 while循環等內容,其中while循環里我們引入了else關鍵字和break關鍵字的時候,那么現在我們再回顧下,正常while循環是不包含else語句的,加上的else語句模塊是在while正常執行完后才執行的代碼塊,而如果while內部通過break跳出的循環不會執行else部分的代碼。
接下來我們繼續看看循環里的另外一種書寫方式,那就是其特有的for循環。For循環一般是用來遍歷一個可迭代對象,例如列表、字典、元組、集合、字符串等內容,那啥是可迭代元素呢?可迭代元素不是一種具體的類型,目前我們接觸的列表、字典、元組、集合、字符串等類型都是可迭代元素。后面我們學習了面向對象后,再回過頭來看這個可迭代對象會好理解些。
那我們用for循環來訪問下我們學習過的可迭代元素。
For 循環語法: for 。。。 in 。。。
Pass
跟while循環一樣,for循環也可以帶一個else語句塊,那么當for循環正常執行完后就會執行else里的語句塊。如果是中途退出的則不會執行else模塊。例如:


輸出為:

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

上面的break執行完了會跳轉到哪里去?最后還能打印 質數判斷執行完畢 這幾個字嗎?按照我們先前的理解,如果想打印這行語句,for循環里不能break跳出的。我們先看下結果吧:

從上面的結果看來,break只是結束了內層的循環。外層循環沒有受影響。
先前我們認識了break語句,break適用于循環體內,表示終止當前的循環,跳出循環體,未執行的循環語句會被忽略掉。并且break只能退出一層循環,如果多層循環,直接使用break只能退出當前循環,無法退出外層循環。
提到break,我們不能忘了continue,這兩個難兄難弟在初學者眼里很容易混淆,上面我們用到了break,知道了break可以跳出當前循環。那么continue是干什么用的呢?與break不同,continue是終止當前這次循環,不執行后續的代碼,而是進入下一個循環里,并沒有直接跳出當前循環。我們用一個例子來說明下吧。

輸出為


輸出為

通過上面的例子看到區別了吧,break直接跳出循環,continue是進入下一個循環。
基本數據類型介紹完了,控制結構也介紹完了,那么到現在為止,大家對python應該有一個初步的認識了,明天我們繼續學習python的面向對象編程。