Python:for循环+else与continue+break小总结
以往的筆記,記錄一下
前言
一、for循環簡介:
for i in xx,表示i依次一個個將xx里面的值取出來
二、for…else…
1、簡介:
for也可以和else使用
什么時候用這個else?
當for j in xx時xx中沒有數據或依次取完了,就會使用else
這一種格式,是Python所獨有的
2、這里也順便介紹一下continue和break
前提:下面所說的當前循環:continue或break所在的循環稱為當前循環
(1)continue
重點:continue 語句用來告訴Python跳過當前循環的剩余語句,然后繼續進行下一輪循環
但如果是在else中執行的,就表示當前循環for中已經沒有可用的數了,例如下面的例子中,continue繼續進行父循環的下一輪循環,而非當前循環(也就是子循環),why?因為for循環只要執行了else代碼,就表示當前循環已經執行完畢了,只能找當前循環的上個循環,這里只有父循環,所以就它嘍。設個斷點,單步執行一下就會明白了
像下面的這個,continue就是先當前循環的上個循環,最后才父循環
for j in range(0,2):for k in range(0, 3):for i in range(0,3):print(1)else:continue下面這個例子是幫助理解的,也單步執行一下
for j in range(0,2):for i in range(0,3):print(1)continue #這里它不會執行父循環,因為子循環還沒有結束,他還是會繼續執行(2)break
重點:break語句用來終止循環語句,但如果有嵌套循環,break表示跳出(終止)當前循環(遇到了break,就不繼續執行當前循環的任何代碼),但繼續執行當前循環外下面同級的循環;如果沒有同級的循環就執行當前循環的上個循環;若都沒有,就結束循環
例:
下面對比一下下面的兩種代碼,你會更好地理解,下面的都使用單步對比
第一種:如果沒有同級的循環就執行當前循環的上個循環
#for j in range (3,6):是for k in (8, 10):的子循環 #break會先跳到for k in (8, 10):for i in range (0,2):print(i)for k in (8, 10):print(k)for j in range (3,6):print(j)break第二種:執行當前循環外下面同級的循環
#for j in range (3,6):與for k in (8,10):同級別 #break會先跳到for k in (8,10):for i in range (0,2):print(i)for j in range (3,6):print(j)breakfor k in (8,10):print(k)第三種:因為for k in (8,10):是當前循環的子循環,所以不會執行。都終止當前循環了,怎么執行當前循環下面的代碼?
#for k in (8,10):是for j in range (3,6):的子循環for i in range (0,2):print(i)for j in range (3,6):print(j)breakfor k in (8,10):print(k)記住,只要代碼和for排頭并齊,說明這段代碼不屬于當前與其并齊的for循環內!!!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Python:for循环+else与continue+break小总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 形容家庭幸福的句子100个
- 下一篇: 幼儿语言《白鹭》教案和教学反思