3.1. for-loop 結構


在Python中我們可以使用「for-loop」結構(或稱 for 迴圈)來重複執行某些特定的程式碼,for 迴圈是一種比較容易使用的迴圈結構,通常搭配 range() 物件類別一起使用。

for i in range(n):
    執行此處的程式碼
for i in range(10):
    print(i)

# 執行結果
0
1
2
3
4
5
6
7
8
9

此外,我們也可以用 range(a, b)來自定 range 的範圍,例如:i 值的範圍是 a <= i < b。

for i in range(1, 11):
    print(i)

# 執行結果
1
2
3
4
5
6
7
8
9
10

此外,我們也可以用 range(a, b, c)來自定 range 的範圍及間隔,例如:i 值的範圍是 a <= i + c < b。

for i in range(1, 11, 2):
    print(i)

# 執行結果
1
3
5
7
9

使用 break 跳出迴圈

在使用 for 迴圈時,有時候需要執到某些特定條件成立時跳出迴圈,此時會使用 if 結構及 break 關鍵字來達成 。

for i in range(10):
    if i == 5:
        print('-' + str(i))
        print('-Use break!!')
        break

    print(i)

# 執行結果
0
1
2
3
4
-5
-Use break!!

使用 continue 跳過某次執行

在使用 for 迴圈時,另一些時候需要當某些條件成立時忽略某次執行,此時會使用 if 結構及 continue 關鍵字來達成。

for i in range(10):
    if i == 5:
        print()
        continue

    print(i)

# 執行結果
0
1
2
3
4

6
7
8
9

牛刀小試

# 步驟1: 處理資料輸入。
import sys

for s in sys.stdin:
    # 步驟2: 資料處理,例如:對字串去除頭尾符號、字串分割。
    s = s.strip(" \t\r\n")
    s = s.split()

    步驟3: 使用 for 迴圈,累加及輸出結果。
    sum = 0
    for i in s:
        sum += int(i)

    print(sum)

牛刀小試2

#步驟1: 處理資料輸入。
s = input("")

# 步驟2: 資料類型轉換。
s = s.strip(" \t\r\n")
n = int(s)

for i in range(0, n):
    # 步驟3: 取出要處理的資料。
    s = input("")
    s = s.strip(" \t\r\n")

    # 步驟4: 使用 for 迴圈,對每個字元做處理。
    o = ""
    for j in range(0, len(s)):
        # 取得字元的ASCII碼及做數字位移
        a = ord(s[j]) - 65
        a = (a + 3) % 26 + 65
        o += str(chr(a))

    print(o)

躍躍欲試

參考資料

  • Python自動化的樂趣, 第二章, Al Sweigart 著、H&C 譯, 碁峰
  • Python編程入門第3版(簡), 第四章, Toby Donaldson著, 人民郵電出版社
  • 精通Python, 第四章, Bill Lubanovic著, 賴屹民譯, 歐萊禮

results matching ""

    No results matching ""