一、while 簡介
Python 的循環有 for 和 while 兩種,while 為條件控制循環,通過條件表達式控制循環結束。
流程圖如下:
Python 中 while 語句的格式如下:
while <條件表達式>:
【語句塊】
釋:當 while 的 <條件表達式>為 True 時運行【語句塊】,【語句塊】運行結束后,再次進入 <條件表達式>進行 判斷,如果 <條件表達式>結果為 True 則再次運行【語句塊】, 以此循環直到 <條件表達式> 結果為 False 結束循環。
示例:求1~100 的和
# 初始化i 和 sum的值
sum = i = 0
while i <= 100: # 循環控制條件
sum = sum + i
i + = 1 # 等同於i=i+1
print(sum) # 輸出結果5050
二、while ... else ... (很少用)
while ... else ... 先進行 while 循環,循環結束后再執行 else 下的語句。
只有在特定條件下會用 while...else...,知道有這個東西就可以
語句形式如下:
while <條件表達式>:
【while 的語句塊】
else:
【else的語句塊】
釋:先進行 while 循環,當循環結束后執行【else 的語句塊】
示例:求1~100 中的所有奇數的和
sum = i = 0
while (2 * i + 1) <= 100: # 循環控制條件
sum = sum + 2 * i + 1
i += 1 # 等同於i=i+1
else:
print('循環結束后執行else')
print(sum)
三、while 無限循環
當 while 的條件永遠為 True 是就是一個無限循環。
示例:從鍵盤輸入一個正整數判斷是否大於等於100還是小於100,輸入負數時退出
key = 1
while key >= 0:
key = input('請輸入一個正整數:') # input從鍵盤接收數據
key = int(key) # key強制轉換為int
if key >= 100:
print(key, '不小於100')
else:
print(key, '小於100')
注意:while循環條件表達式總是為True,就會無限循環下去,變成死循環,所以要特別留意 while 循環的退出條件。
四、break 與 continue 退出循環
break 結束循環,遇到break直接退出循環
continue 跳過當次循環,進入下一次循環
break 示例:
i = 0
while i <= 5: # 循環控制條件
if i == 3:
break # 結束循環
print(i)
i += 1 # 等同於i=i+1
輸出結果:
0
1
2
輸出結果到3就結束了,程序運行到break就結束整個循環。
continue 示例:
i = 0
while i <= 5: # 循環控制條件
i += 1
if i == 3:
continue # 跳過當次循環
print(i)
-
輸出結果:
-
1
-
2
-
4
-
5
-
6
輸出結果缺少了3,continue 結束了當次的循環,進入下一循環
總結
while 循環為條件控制循環,當 while 的表達式為True時我們才進行循環,循環到表達式為False 結束。
break 與 continue 都可以退出循環,區別在於break是結束循環,continue 是跳出當前循環進入下一次循環。
下面為思維導圖
關注"Python做些事",祝大家在代碼界一帆風順,各位大佬,干杯