1. 程式人生 > >while 和 for 迴圈

while 和 for 迴圈

while 迴圈

基本使用

while 語句同其他程式語言中 while 的使用方式大同小異,主要結構如下

while condition:
    expressions

例項

比如要打印出 0 - 9 的所有資料

condition = 0
while condition < 10:
    print(condition)
    condition = condition + 1

輸出的結果將是 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 第一行設定 condition 的初始值為 0,在進行 while 判斷的時候 0 < 10True, 將會執行 while 內部 的程式碼,首先先打印出該值,然後將 condition

值加 1,至此將完成一次迴圈;再 condition 的值與 10 進行比較,仍然為 True, 重複如上過程,至到 condiiton 等於 10 後,不滿足 condition < 10 的條件(False),將不執行 while 內部的內容 所以 10 不會被列印。

注意點

在使用 while 句法的時候一定要注意在迴圈內部一定要修改判斷條件的值,否則程式的 while 部分 將永遠執行下去

while True:
    print("I'm True")

如果這樣做的話,程式將一直打印出 I’m True, 要停止程式,使用 ctrl + c 終止程式。

高階主題

在 Python 中除了常規比較操作
- 小於(<)
- 大於 (>)
- 不大於 (<=)
- 不大於 (>=)
- 等於 (==)
- 不等於 (!=)
會返回 True

False值,例如其他也會返回 TrueFalse

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

condition = ''
while condition:
    print(condition)

3 集合類

在 Python 中集合型別有 listtupledictset 等,如果該集合物件作為 while 判斷語句, 如果集合中的元素數量為 0,那麼將會返回 False, 否則返回 True

a = range(10)
while a:
    print(a[-1])
    a = a[:len(a)-1]

a = range(10)
while a:
    print(a[0])
    a = a[1:len(a)]

上述程式將會返回 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 程式首先判斷列表是否空,如果不為空,則 打印出最後一個內容,然後使用切片操作去掉最後一個元素,並更新列表;如此重複,直至列表為空。

切片:

格式: li[start : end : step]
start是切片起點索引,end是切片終點索引,但切片結果不包括終點索引的值。step是步長預設是1。

a[:len(a)-1] 起點:0 終點:len(a)-1 索引:1