iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0

今天要介紹的是迴圈 Loop,在 Python 中有個叫做串列 List的資料結構,用法類似於其他語言的Array list使用中括號將資料包起來,搭配迴圈可印出串列中內容。

迴圈是控制流程中常使用的工具之一,可以讓程式重複執行某件事直到條件滿足。

主要分成兩大類:

  1. for迴圈
    遍歷已知範圍或是可迭代物件,意思是說使用場景在已知要執行次數時。
num = [1, 2, 3, 4, 5]
for i in num:
    print(i) # 1 2 3 4 5

不只可用來取數字,還可以取得字串或是物件

list_str = ["a", "b", "c", "d"]
for i in range(len(list_str)):
    print(list_str[i]) # a b c d
    
# 或是以下方式

list_str = ["a", "b", "c", "d"]
for i in list_str:
    print(i) # a b c d
  1. while迴圈
    相對for 迴圈來說,while則是使用在不知道執行次數時,直到條件滿足才會停止,基本上for迴圈能做到的事while也能做的到,差別只在上述所說的是否知道執行次數。
total = 0
while total < 5:
    print(total) # 1, 2, 3, 4
    total += 1

既然提到while迴圈,不如來寫個經典猜謎小遊戲吧!

順便練練手感!雖然中間有還沒提到的if-else判斷式,但應該是滿淺顯易懂的不需要太擔心~

import random
secret = random.randint(1, 100)
min_num = 1
max_num = 100
while True:
    guess = int(input(f"{min_num} ~ {max_num} 之間: "))
    if guess < min_num or guess > max_num:
        print("答案不在範圍內,請重新輸入:")
        continue
    if guess == secret:
        print(f"恭喜!答對了,答案是{secret}")
        break
    elif guess < secret:
        min_num = guess
    elif guess > secret:
        max_num = guess

迴圈結束

迴圈的結束分為規則和不規則:

  • break:中斷迴圈執行並跳脫迴圈,繼續執行迴圈外的程式碼。
  • continue:迴圈不會結束,只是跳過迴圈內continue後面剩下的程式碼繼續執行下一次的迴圈。

從以下範例可以明顯看出break會跳出迴圈中斷在當前的點不會執行後續的程式碼,而continue則是繼續執行後續程式碼。

for i in range(10):
    if i == 5:
        break
    print(i) # 0 1 2 3 4
for x in range(10):
    if x == 5:
        continue
    print(x) # 0 1 2 3 4 6 7 8 9

串列推導式

這算是進階的用法,主要在 Python 中可以快速、簡潔的建立串列的方法,它的語法比一般的for迴圈更加的簡短且功能一樣。

一般用法:

result = []
for i in range(5):
    result.append(i)
print(result) # [0, 1, 2, 3, 4]

推導式用法:

result = [i for i in range(5)]
print(result) # # [0, 1, 2, 3, 4]

實務上使用哪種方法就取決於個人或團隊風格!?
單論新手來看的話或許使用一般方式在閱讀上會比較容易。

那麼今天就介紹到這,明天見ㄅㄅ!


上一篇
筆記Day12:字典 Dict
下一篇
筆記Day14:條件判斷(上)
系列文
Python 學習筆記20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言