iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
Python

一起來用 Snakify 練練手系列 第 14

【一起來用 Snakify 練練手】Day14 Lesson 6 概念

  • 分享至 

  • xImage
  •  

While 迴圈

在 Python 中,while 迴圈是一種基於條件的迴圈,當指定條件為真時,while 迴圈會不斷執行程式碼塊,直到條件為假為止。這使得 while 迴圈非常適合用來處理需要重複執行但次數不確定的任務。

1. 基本語法

while 迴圈的基本語法如下:

while 條件:
    執行的程式碼

只要條件為真,迴圈中的程式碼就會不斷執行。當條件變為假時,迴圈將終止。

範例:

counter = 0
while counter < 5:
    print("計數器:", counter)
    counter += 1  # 讓 counter 遞增,避免無窮迴圈

在這個範例中,while 迴圈會檢查變數 counter 是否小於 5。如果條件成立,則執行 print() 函數來輸出 counter 的值,並讓 counter 自增 1。迴圈會在 counter 等於 5 時停止。

2. 無窮迴圈

若在 while 迴圈中忘記改變條件變數的值,會導致程式進入無窮迴圈(即迴圈永遠不會結束)。

範例:

while True:
    print("這是一個無窮迴圈!")

這個程式會不斷輸出「這是一個無窮迴圈!」,直到手動中斷程式執行。因此,在使用 while 迴圈時,我們需要特別注意確保條件能夠變為假,從而終止迴圈。

3. breakcontinue

3.1 使用 break 終止迴圈

break 語句允許我們提前退出 while 迴圈,而不必等待條件變為假。這在我們需要根據某些情況提前結束迴圈時非常有用。

範例:

counter = 0
while counter < 10:
    print("計數器:", counter)
    if counter == 5:
        break  # 當 counter 等於 5 時退出迴圈
    counter += 1

在這個範例中,當 counter 的值等於 5 時,break 語句會使迴圈立即結束,跳出迴圈。

3.2 使用 continue 跳過本次迴圈

continue 語句用來跳過本次迴圈的剩餘程式,並立即進入下一次的迭代。這在我們需要根據某些條件跳過特定的處理時非常有用。

範例:

counter = 0
while counter < 10:
    counter += 1
    if counter % 2 == 0:
        continue  # 當 counter 是偶數時,跳過本次迭代
    print("計數器:", counter)

在這個範例中,當 counter 是偶數時,continue 語句會跳過當前的迴圈,不會執行 print() 函數,這樣就只會輸出奇數的 counter 值。

4. 常見的應用範例

4.1 用 while 迴圈進行用戶輸入驗證

while 迴圈常用於驗證用戶輸入是否有效,直到用戶提供正確的輸入為止。

範例:

password = ""
while password != "1234":
    password = input("請輸入密碼:")
    if password == "1234":
        print("密碼正確,歡迎!")
    else:
        print("密碼錯誤,請再試一次。")

這個範例會反覆要求用戶輸入密碼,直到輸入正確為止。

4.2 使用 while 迴圈進行累加

我們可以使用 while 迴圈來進行數字的累加運算,直到達到某個指定的值。

範例:

total = 0
number = 1
while number <= 100:
    total += number
    number += 1
print("1 到 100 的總和為:", total)

這段程式碼使用 while 迴圈計算 1 到 100 的總和,最終輸出結果為 5050。

5. 與 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 迴圈則更靈活。

6. 總結

while 迴圈是一個靈活且強大的控制結構,適合處理不確定重複次數的任務。通過使用 breakcontinue 語句,我們可以更靈活地控制迴圈的行為。無論是用於用戶輸入驗證還是進行簡單的計算,while 迴圈都是程式設計中不可或缺的工具。


上一篇
【一起來用 Snakify 練練手】Day13 Lesson 5 練習題參考解答
下一篇
【一起來用 Snakify 練練手】Day15 Lesson 6 練習題參考解答
系列文
一起來用 Snakify 練練手30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言