今天要介紹的是迴圈 Loop
,在 Python 中有個叫做串列 List
的資料結構,用法類似於其他語言的Array list
使用中括號將資料包起來,搭配迴圈可印出串列中內容。
迴圈是控制流程中常使用的工具之一,可以讓程式重複執行某件事直到條件滿足。
主要分成兩大類:
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
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]
實務上使用哪種方法就取決於個人或團隊風格!?
單論新手來看的話或許使用一般方式在閱讀上會比較容易。
那麼今天就介紹到這,明天見ㄅㄅ!