[Py 百日馬 Day 5] for 迴圈 (for loop)


Posted by Laihan on 2022-03-10

基礎

for loop 通常用來做重複的事情或疊代 (iteration) 序列 (sequence) 中的元素,寫法如下

for el in sequence:
    # do something...

序列有:list、tuple、dictionary、set、string

numbers = [1, 2, 3]
for num in numbers:
    print(num)   
# 依序印出 1 2 3

myString = "ABC"
for str in myString:
  print(str)
# 依序印出 A B C

如果 loop dictionary 會印出他的 key

myDict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}

for key in myDict:
  print(key)
# brand
# model
# year

如果 loop dictionary list 會印出 dictionary

dict_list = [{
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}, {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}]

for dict in dict_list:
  print(dict)
# {'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
# {'brand': 'Ford', 'model': 'Mustang', 'year': 1964}

range() function

也可以使用 range(start, end, step) 來跑迴圈

  • start 起始值,預設值為 0。
  • end 結束值,必填,且不包含此數。
  • step,代表每次遞增的間距,預設值為 1。
for key in range(3):
  print(key)
# 會依序印出 0 1 2;range(3) = range(0, 3, 1)

for key in range(1, 10, 2):
  print(key)
# 會依序印出 1, 3, 5, 7, 9

for key in range(10, 1, -2):
  print(key)
# 會依序印出 10, 8, 6, 4, 2

停止或繼續迴圈

可以視情況使用 breakcontinuepass來決定迴圈的停止或繼續。
如果在迴圈內用了 break,這迴圈就會被硬生生地被結束,結束 for 區塊,進入下一個部分的程式碼;而 continue 只是跳過這回合剩下的部分,進入下一回合,下面用宗教輪迴來白話解說

break 打破輪迴

原本預計輪迴四次,但在第二世時觸發指定條件就會提前結束輪迴

for num in range(1, 5):
    if num == 2:
        print(f"第{num}世, 修德善果")
        break
    else:
      print(f"第{num}世走完")   
print('輪迴結束')

# 第1世走完
# 第2世, 修德善果
# 輪迴結束

continue 直接下一世

觸發指定條件後會直接結束這一回合剩下的人生,然後轉世繼續輪迴

for num in range(1, 5):
    if num == 2:
        print(f"第{num}世提前結束")
        continue
    print(f"第{num}世走完")
print('輪迴結束')

# 第1世走完
# 第2世提前結束
# 第3世走完
# 第4世走完
# 輪迴結束

pass 先不要

遇到 pass 會執行語法檢查,但並不會做任何動作,就是一個有跟沒寫一樣的語句,通常被拿來當佔位符用。例如:我們 sayHi 完要做某事,但暫時還沒想到要做啥事,就可以寫

def sayHi(name):
    print(f"Hi, {name}!")

def doSomething():
    pass  # 如果沒有 pass 會報錯

sayHi('Lai')
doSomething()
print('Bye~')

# Hi, Lai!
# Bye~

參考資料


#Python







Related Posts

筆記、[NET101] 網路基礎概論 (3)

筆記、[NET101] 網路基礎概論 (3)

白飯之亂影響北科大的搜尋量

白飯之亂影響北科大的搜尋量

關於

關於


Comments