我們繼續看 C 和 Python 在這「迴圈」控制結構的差異。
迴圈(Loop)
迴圈指的是重複循環執行一些相同的運算
在 C 和 Python 中,for 迴圈和 while 迴圈都是循環控制結構,可以用來重複執行一段程式碼。
用以下 C 程式來舉例說明:
int i = 1;
while (i < 6) {
    printf("%d ", i);   // 輸出 1 2 3 4 5
    i++;
}
printf("\n");
for (int i = 1; i <= 5; i++) {
		printf("%d ", i);   // 輸出 1 2 3 4 5
}
這是 C 的 do … while 語法,Python 沒有支援:
int i = 1;
do {    // 不論任何條件,至少都會執行一次循環
		printf("%d ", i);   // 輸出 1 2 3 4 5
		i++;
} while (i < 6);   
printf("\n");
Python while 循環的語法和 C語言相似。
Python  for 循環的語法和 C語言略有不同,且支援可迭代 (iterable)物件,功能較強大。
用以下 Python 程式來舉例說明:
i = 1
while i < 6:
    print(i, end=' ')   # 輸出 1 2 3 4 5
    i += 1
for i in range(1, 6):    # 說明: range(1, 6) 指 1, 2, 3, 4, 5
    print(i, end=' ')    # 輸出 1 2 3 4 5
Python  for 循環的程式碼在每次迭代中,變數會被設為 序列(sequence)中的下一個值,並執行程式碼的 for 區塊。
這是另一個範例:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:  # 語法: for variable in sequence:
    print(fruit)
break 和 continue 語句
C 語言和 Python都有break和continue語句來控制迴圈的執行流程。
break:直接中斷迴圈,強制跳出 ❮整個❯ 迴圈
continue:強制跳出 ❮本次❯ 迴圈,繼續進入下一迴圈。
使用這兩個語句,可以將迴圈 和 if 條件判斷式 整合, 更靈活地控制程式的執行流程。
這裡以 Python 程式來舉例說明:
for i in range(5):   # 說明: range(5) 指 0, 1, 2, 3, 4
    if i == 2:
        break
    print(i, end=' ')  # 輸出: 0, 1
print()
for i in range(5):
    if i == 2:
        continue
    print(i, end=' ')  # 輸出: 0, 1, 3, 4
補充說明:
break也用在 switch…case 語句。return 語句中斷迴圈,並結束這一函式。例外處理 (Exception Handling)
除了使用「條件判斷」與「迴圈」是來控制正常執行流程外,當程式執行過程中發生錯誤或異常情況時,Python 提供了一種稱為「例外處理」(Exception Handling) 的機制,讓我們可以簡潔地處理這些特別情況。
這裡舉個簡單 Python 例子來說明:
try:
    x = int(input("請輸入一個整數: "))
    result = 100 / x
    print(f"結果為: {result}")
except ValueError:      # 例如: 當輸入 ten
    print("輸入的不是數字")
except ZeroDivisionError:  # 例如: 當輸入 0
    print("除以零的錯誤")