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 < 10 為 True, 將會執行 while 內部 的程式碼,首先先打印出該值,然後將 condition
注意點
在使用 while 句法的時候一定要注意在迴圈內部一定要修改判斷條件的值,否則程式的 while 部分 將永遠執行下去。
while True:
print("I'm True")
如果這樣做的話,程式將一直打印出 I’m True, 要停止程式,使用 ctrl + c 終止程式。
高階主題
在 Python 中除了常規比較操作
- 小於(<)
- 大於 (>)
- 不大於 (<=)
- 不大於 (>=)
- 等於 (==)
- 不等於 (!=)
會返回 True
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 中集合型別有 list、 tuple 、dict 和 set 等,如果該集合物件作為 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