Python3基礎之(五)while迴圈
在 Python 語言中用來控制迴圈的主要有兩個句法,while 和 for 語句,本講將簡單介紹 while 句法的使用。
一、基本使用
while 語句同其他程式語言中 while 的使用方式大同小異,注意condition
不需要加括號,主要結構如下:
while condition:
expressions
其中 condition
為判斷條件,在 Python 中就是 True
和 False
其中的一個,如果為 True
, 那麼將執行 exexpressions
語句,否則將跳過該 while
語句塊接著往下執行。
二、例項
比如要打印出 0 - 9 的所有資料:
>> > condition=0
>>> while condition<10:
print(condition)
condition+=1
0
1
2
3
4
5
6
7
8
9
第一行設定 condition 的 初始值為 0,在進行 while 判斷的時候 0 < 10 為 True, 將會執行 while 內部 的程式碼,首先先打印出該值,然後將 condition 值加 1,至此將完成一次迴圈;再 condition 的值與 10 進行比較,仍然為 True, 重複如上過程,至到 condiiton 等於 10 後,不滿足 condition < 10 的條件(False),將不執行 while 內部的內容 所以 10 不會被列印。
三、注意點
在使用 while 句法的時候一定要注意在迴圈內部一定要修改判斷條件的值,如果判斷條件一直為真,那麼程式的 while 部分 將永遠執行下去。
while True:
print('I am always True')
如果這樣做的話,程式將一直打印出 I am always True, 要停止程式,使用 ctrl + c
終止程式。
四、高階主題
在 Python 中除了常規比較操作
小於(<) 大於 (>) 不大於 (<=) 不小於 (>=) 等於 (==) 不等於 (!=) 會返回 True 和 False值,例如其他也會返回 True 和 False
1 數字
整數和浮點數也能進行 Boolean
資料操作, 具體規則,如果該值等於 0
或者 0.0
將會返回 False
其餘的返回 True
>>> condition=10
>>> while condition:
print(condition)
condition-=1
10
9
8
7
6
5
4
3
2
1
在這裡 condition 在 while 語句中,如果該值 大於0,那麼將會返回為 True,執行迴圈內部語句,直至 condition 等於0,返回 False。
2 None 型別
如果 while
後面接著的語句資料型別 None
, 將會返回 False
,while
裡expressions
將不會執行
>>> while None:
print('haha')
3 集合型別
在 Python 中集合型別有 list
、 tuple
、dict
和 set
等,如果該集合物件作為 while 判斷語句, 如果集合中的**元素數量為 0
**,那麼將會返回 False, 否則返回 True。?
>>> a=range(10)
>>> while(a):
print(a[-1])
a=a[:len(a)-1]
9
8
7
6
5
4
3
2
1
0
程式首先判斷列表是否空,如果不為空,則 打印出最後一個內容,然後使用切片操作去掉最後一個元素,並更新列表;如此重複,直至列表為空。 切片操作後續會講的,這裡不需要糾結。