在 Python 中,while
迴圈是一種基於條件的迴圈,當指定條件為真時,while
迴圈會不斷執行程式碼塊,直到條件為假為止。這使得 while
迴圈非常適合用來處理需要重複執行但次數不確定的任務。
while
迴圈的基本語法如下:
while 條件:
執行的程式碼
只要條件為真,迴圈中的程式碼就會不斷執行。當條件變為假時,迴圈將終止。
範例:
counter = 0
while counter < 5:
print("計數器:", counter)
counter += 1 # 讓 counter 遞增,避免無窮迴圈
在這個範例中,while
迴圈會檢查變數 counter
是否小於 5。如果條件成立,則執行 print()
函數來輸出 counter
的值,並讓 counter
自增 1。迴圈會在 counter
等於 5 時停止。
若在 while
迴圈中忘記改變條件變數的值,會導致程式進入無窮迴圈(即迴圈永遠不會結束)。
範例:
while True:
print("這是一個無窮迴圈!")
這個程式會不斷輸出「這是一個無窮迴圈!」,直到手動中斷程式執行。因此,在使用 while
迴圈時,我們需要特別注意確保條件能夠變為假,從而終止迴圈。
break
與 continue
break
終止迴圈break
語句允許我們提前退出 while
迴圈,而不必等待條件變為假。這在我們需要根據某些情況提前結束迴圈時非常有用。
範例:
counter = 0
while counter < 10:
print("計數器:", counter)
if counter == 5:
break # 當 counter 等於 5 時退出迴圈
counter += 1
在這個範例中,當 counter
的值等於 5 時,break
語句會使迴圈立即結束,跳出迴圈。
continue
跳過本次迴圈continue
語句用來跳過本次迴圈的剩餘程式,並立即進入下一次的迭代。這在我們需要根據某些條件跳過特定的處理時非常有用。
範例:
counter = 0
while counter < 10:
counter += 1
if counter % 2 == 0:
continue # 當 counter 是偶數時,跳過本次迭代
print("計數器:", counter)
在這個範例中,當 counter
是偶數時,continue
語句會跳過當前的迴圈,不會執行 print()
函數,這樣就只會輸出奇數的 counter
值。
while
迴圈進行用戶輸入驗證while
迴圈常用於驗證用戶輸入是否有效,直到用戶提供正確的輸入為止。
範例:
password = ""
while password != "1234":
password = input("請輸入密碼:")
if password == "1234":
print("密碼正確,歡迎!")
else:
print("密碼錯誤,請再試一次。")
這個範例會反覆要求用戶輸入密碼,直到輸入正確為止。
while
迴圈進行累加我們可以使用 while
迴圈來進行數字的累加運算,直到達到某個指定的值。
範例:
total = 0
number = 1
while number <= 100:
total += number
number += 1
print("1 到 100 的總和為:", total)
這段程式碼使用 while
迴圈計算 1 到 100 的總和,最終輸出結果為 5050。
for
迴圈的對比與 for
迴圈不同,while
迴圈更適合處理那些執行次數不確定的情況,因為它基於條件來控制迴圈的執行。而 for
迴圈通常用於遍歷已知範圍或序列的情況。
範例比較:
# 使用 for 迴圈
for i in range(1, 6):
print(i)
# 使用 while 迴圈
i = 1
while i < 6:
print(i)
i += 1
這兩個範例的效果是一樣的,但 for
迴圈更適合用於已知範圍內的情況,而 while
迴圈則更靈活。
while
迴圈是一個靈活且強大的控制結構,適合處理不確定重複次數的任務。通過使用 break
和 continue
語句,我們可以更靈活地控制迴圈的行為。無論是用於用戶輸入驗證還是進行簡單的計算,while
迴圈都是程式設計中不可或缺的工具。