CodeGym /課程 /Python SELF TW /while 迴圈

while 迴圈

Python SELF TW
等級 4 , 課堂 3
開放

9.1 條件迴圈

迴圈 for 很適合用在明確知道需要執行多少次指令塊的情況。但這樣的情況並非總是發生。大約一半的情況下,需要在某些條件(規則)為真時,執行指令塊。

正因如此,Python 語言提供了 迴圈 while。它的語法比 for 迴圈還要簡單:


while 條件:
    指令1 
    指令1 
    指令N 

迴圈會執行,直到 條件 不再為真。

重要! 為避免迴圈無限執行,必須確保指令塊中有些改變會影響條件,以便條件可能變成假並結束迴圈。

範例:

範例 說明

count = 0
while count < 5:
    print(count)
    count += 1
迴圈會在螢幕上顯示數字 0 1 2 3 4

while 迴圈 中,無限執行兩個動作:

  • 檢查條件。
  • 執行指令塊。

如果條件為真,則執行指令塊。如果條件突然不再為真(即使指令塊從未執行過),迴圈就會結束。

另一個 while 迴圈 的例子,與使用者輸入未知數據量相結合:

範例 說明

user_input = ""
while user_input != "exit":
    user_input = input("輸入 'exit' 來退出: ")
    print(user_input)
迴圈會輸出所有用戶輸入的數據,直到輸入 exit。然後迴圈輸出它並結束。

9.2 break 操作符

在 Python 中,操作符 break 用於立即終止 while 迴圈for 迴圈 的執行。這個操作符在需要不按條件正常結束迴圈時非常有用。

使用 break 增加了程序執行流程控制的靈活性,允許在執行期間響應動態變化的條件。

主要使用方法


for num in range(10):
    if num == 5:
        break  # 當 num 達到 5 時,終止迴圈
    print(num)
        

在這個例子中,迴圈會輸出 0 到 4 的數字。當 num 為 5,break 會跳出迴圈。

在無限迴圈中的應用:


while True:
    response = input("輸入 'exit' 來退出: ")
    if response == 'exit':
        break              

這裡的 break 用於從無限迴圈中退出,當用戶輸入 'exit'

break 操作符也常用於中斷嵌套迴圈的執行、處理需要立即終止行動的例外情況,以及在多執行緒或網絡應用程序中中斷過程。

例如,在尋找或排序的任務中,當找到所需元素後,繼續執行迴圈就沒有意義了:


elements = [1, 2, 3, -99, 5]
# 尋找第一個負數元素
for element in elements:
    if element < 0:
        print("找到一個負數元素:", element)
        break              

最佳實踐 是明智地使用 break,以免使程式邏輯過於複雜,不易理解。好的做法是對中斷迴圈的原因進行註解,尤其在上下文不明顯時。

使用 break 應該有充分理由和目的。比如,用於提升程式的可讀性和效率,而不是僅僅為了"打破"邏輯。有效地使用這個操作符能顯著提高程式的性能,尤其是在需要大量計算的算法中。

9.3 continue 操作符

continue 操作符 在 Python 中是用來控制迴圈執行流程的強大工具。它會跳過當前迴圈的其餘部分,直接進入下一次迴圈。這個操作符在 forwhile 迴圈中使用頻繁,用於在不打斷整個迴圈的情況下跳過特定條件。

continue 操作符的使用基礎

以下是 continue 在簡單迴圈中的運作方式:


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

在這個例子中,迴圈只會輸出 1 到 9 的奇數。每當 i 是偶數(能被 2 整除),continue 操作符就會啟動,跳過 print() 函數的調用,直接進入下一次迴圈。

continue 的應用在現實場景中

資料過濾continue 可以在迴圈中執行更複雜的操作前,用於初步過濾資料。


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # 跳過空字串
    print(fruit.capitalize())               

跳過特定條件:在需要根據複雜條件跳過某些元素的情況下,特別有用。


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # 跳過低分
        print("恭喜,您的分數是:", score)               

continue 操作符在 Python 中提供了一種簡化代碼並使其更具可讀性的優雅方式,通過在迴圈中跳過不符合條件的元素。過度使用會使得理解迴圈處理哪些數據變得更困難,尤其是在具有多個條件的複雜迴圈中。保持合理的平衡。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION