Python 入門系列 —— 26. while,for循環詳解

循環語句

python 中內置了兩種 循環方式

  • while
  • for

while 循環

while循環的作用可以保證在指定的條件下可以重複執行某些語句,可能有點懵是吧,舉個例子:


i = 1
while i < 6:
  print(i)
  i += 1

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
1
2
3
4
5

可以看出,在 i<6 的情況下循環體會不斷重複執行。

break 語句

break 關鍵詞的作用就是在特定的條件下讓循環提前結束,如下代碼所示:


i = 1
while i < 6:
  print(i)
  if i == 3:
    break
  i += 1

continue 語句

除了可以讓循環提前整體結束,還可以提前結束某一次迭代,進行下一個迭代,如下代碼所示:


i = 0
while i < 6:
  i += 1
  if i == 3:
    continue
  print(i)

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
1
2
4
5
6

else 語句

可以在 while 後面跟上一個 else 語句,表示當 while 中斷後,執行該 else 語句,如下代碼所示:


i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
1
2
3
4
5
is no longer less than 6

for 循環

for 循環常用於迭代一個集合,如:(list,tuple,dict,set,string),python 中的 for 不像其他語言中的 for,它更像其他語言中的 迭代器方法,如 C# 中的 foreach,如下面的例子:


fruits = ["apple""banana""cherry"]
for x in fruits:
  print(x)

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
apple
banana
cherry

迭代 string

很多人沒想到,string 也是可以迭代的吧,本質上來說,string 就是一組 char 合成的,如下代碼所示:


for x in "banana":
  print(x)

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
b
a
n
a
n
a

break 和 continue

和文章前面章節提到的一樣,除了在while中使用這兩個關鍵詞,for 中同樣可以使用,如下例子所示:


fruits = ["apple""banana""cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x)

fruits = ["apple""banana""cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
apple
apple
cherry

range() 函數

有時候需要在 迭代 中獲取下標值,這個時候用 for 就不好使了,那怎麼辦呢?在 python 中可以使用 range() 來獲取指定範圍內的序列集合,然後通過下標來進行集合迭代,如下代碼所示:


fruits = ["apple""banana""cherry"]

for i in range(len(fruits)):
  print("{0}:{1}".format(i,fruits[i]))

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
0:apple
1:banana
2:cherry

除了默認用 range 獲取返回數字集合,還可以指定 start - end 範圍段和 step值,如下代碼所示:


for x in range(26):
  print(x)

for x in range(2103):
  print(x)

PS E:\dreams\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dreams/dream/markdown/python/app/app.py
2
3
4
5
2
5
8

for 中的 Else

在 for 循環尾巴處使用 else 語句,表示當 for 迭代結束後執行該語句,代碼如下:


for x in range(6):
  print(x)
else:
  print("Finally finished!")

譯文鏈接:https://www.w3schools.com/python/python_while_loops.asp


本文分享自微信公衆號 - 一線碼農聊技術(dotnetfly)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章