咱們在寫代碼時常常會用到循環,python中有for循環和while循環,咱們來詳細的瞭解一下這兩種循環。python
Python for循環能夠遍歷任何序列的項目,如一個列表或者一個字符串。函數
咱們經過一個例子來看一下for循環的具體使用,咱們經過range()
函數建立一個整數列表,而後將列表中的元素經過for循環打印出來。code
# for i in range(5)開始迭代的時候,生成一個數值0,第二次迭代再生成數值1,第三次迭代再生成數值2, for i in range(5): print(i) # 輸出: 0 1 2 3 4
上面是使用了range()函數,咱們試試本身定義一個列表來經過for循環打印:blog
list1 = ['a', 'b', 'c'] for i in list1: print(l) # 輸出: a b c
仔細看上面兩個例子,咱們發現,循環每次迭代時,for會從序列中取一個元素賦值給控制變量i(可本身定義),下一輪迭代又取下一個元素賦值給i。字符串
for循環使用 else 語句get
除了使用單獨的for語句,還可使用for ... else語句,else中的語句會在循環正常執行完
的狀況下執行。it
list1 = ['a', 'b', 'c'] for i in list1: print(i) else: print("循環正常執行完畢") # 輸出: a b c 循環正常執行完畢
上面咱們說到循環正常執行完畢的狀況,那確定是還有循環不正常執行完畢的狀況。什麼狀況就算不正常執行完畢的退出呢?像經過break、continue語句退出循環的就不算正常執行完畢。for循環
break語句
:退出整個循環,若是嵌套了循環,則退出break所在的那層循環。變量
continue語句
:跳過當前循環的剩餘語句,而後繼續進行下一輪循環。循環
pass語句
:不作任何事情,通常用作佔位語句。
for迭代字典
for迭代字典時,能夠分爲不一樣的幾種方式:
dict1 = {'name': 'Tom', 'age': 11, 'sex': 'man'} for i in dict1.keys(): print(i) # 輸出: name age sex
for i in dict1.values(): print(i) # 輸出: Tom 11 man
for k, v in dict1.items(): print(k, v) # 輸出: name Tom age 11 sex man
python range() 函數可建立一個整數列表,通常用在 for 循環中
語法:range(start, stop[, step])
while循環和for循環都能循環作一件重複的事情。不一樣的地方在於for循環是在序列窮盡時中止,而while循環是在條件不成立時中止。 while循環的執行語句能夠是單個語句或語句塊,判斷條件能夠是任何表達式,任何非零、或非空(null)的值均爲true。當判斷條件假false時,循環結束。
咱們經過一個實例來看一下while循環的使用:
a = 3 while a >= 1: print(a) a -= 1 # 輸出: 3 2 1
循環條件爲a>=1,因此當這個條件成立時就會繼續循環,打印a。當a<1時就會中止循環。
固然,若是咱們想要中途終止循環也可使用break
和continue
語句。
while循環使用else
while循環和for循環同樣,也可使用else語句,咱們一塊兒來看一下:
a = 3 while a >= 1: print(a) a -= 1 else: print('循環結束 !') # 輸出: 3 2 1 循環結束 !
無限循環
若是你想要循環永遠執行,可讓條件讓真一直成立,好比說:
a = 1 while a == 1: print(a) else: print('循環結束 !') # 會一直循環打印1
break跳出循環
a = 0 while a < 10: print(a) a = a + 1 if a == 3: print("break跳出循環") break else: print('循環結束 !') # 輸出: 0 1 2 break跳出循環
continue進去下一輪循環
for i in range(1, 11): if i % 2: continue print(i) # 輸出 2 4 6 8 10
上面代碼中使用了continue語句,if 條件語句的意思是若是i%2爲真(不等於0)就進入下一輪循環。若是i%2爲假(等於0)時會執行print(i)語句,打印i 。