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源创计划”,欢迎正在阅读的你也加入,一起分享。

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