--- ###### tags: `資訊之芽` --- # For 迴圈 --- ## 大綱 - 初次見面/簡單介紹 - 認識長相/基礎語法 - 增加好感度/練習題 - 帶回家玩/回家作業 --- ## 初次見面 以往語法都是做一件事情寫一行code 要是今天想要四萬萬次事情 那要寫到什麼時候... *註:四萬萬次為$10^{8}$次* *不重要:據說清朝時期人口約為四萬萬人* ---- ## 初次見面 ```python= print(0) print(1) print(2) print(3) print(4) print(5) print("這樣很笨qq") ``` ---- ## 初次見面 想像有好幾段程式都是在做類似的事情 只要注意每段之間不一樣的地方 ![](https://i.imgur.com/6HO9vbb.png) ---- ## 初次見面 一個用膝蓋想都會的例子 ```python= for i in [1,2,3,4,5]: print(i,end=" ") # 每個回合都會跑的 # 1 2 3 4 5 ``` --- ## 認識長相 ```python= for i in [...]: # do things with i ``` 注意:冒號、縮排、變數名稱、邏輯 ---- ## 認識長相 秘訣: 將不同的地方記錄在 方括號中 將相同的地方寫在 For迴圈中 ---- ## 認識長相 ![](https://i.imgur.com/lcTbFI5.png) ---- ## 省力的方括號寫法 range(3) 可以想成 \[0,1,2\] ```python= >>> range(3) range(0,3) >>> list(range(3)) [0,1,2] ``` ---- ## 省力的方括號寫法 range 通則 - range(start,end,step) => \[start,end\)整數 每step個輸出一個 - 只能放整數! - 預設start = 0, step = 1 ```python= >>>range(3) range(0,3) ``` ---- ## 省力的方括號寫法 萬一沒有給足三個數字... ```python= range(end) # start = 0 step = 1 range(start,end) # step = 1 range(start,end,step) ``` ---- ## 省力的方括號寫法 range(首項,結尾,公差) ```python= range(5) # 0,1,2,3,4 range(1,5) # 1,2,3,4 range(1,5,1) # 1,2,3,4 range(1,10) # 1,2,3,4,5,6,7,8,9 range(1,10,3) # 1,4,7 range(1,7,2) # 1,3,5 預設首項為0 公差為1 ``` ---- ## for + range範例 輸出1~10 ```python= for i in range(1,11): print(i) ``` ---- ## for + range範例 輸出1到10所有的奇數(1 3 5 7 9) ---- ## for + range範例 輸出1到10所有的奇數(1 3 5 7 9) ```python= for j in range(1,10,2): print(j) ``` ---- ## for + range範例 [Neoj3020](https://neoj.sprout.tw/problem/3020/) ---- ## for + range範例 輸出五個完全平方數(1 4 9 16 25) ---- ## for + range範例 輸出五個完全平方數(1 4 9 16 25) ```python= for num in range(1,6): print(num*num) ``` ---- ## for + range範例 輸出五個完全平方數(1 4 9 16 25) 並且輸出該數字為奇數還是偶數 ``` 1 奇數 4 偶數 9 奇數 . . . ``` ---- ## for + range範例 輸出五個完全平方數(1 4 9 16 25) 並且輸出該數字為奇數還是偶數 ```python= for n in range(1,6): print(n * n) if n % 2 != 0: print("奇數") else: print("偶數") ``` --- ## for + string範例 逐個輸出一個字串的字母 ```python= a = input() for i in a: print(i) ``` ---- ## for + range範例 重複做n次 ```python= penalty = '不可以在再不分' for i in range(10): print(penalty) ``` ---- ## 小整理一下 可以放在for i in [???] 的東西: - range() - string - list - 陸續增加中...~~付費解鎖更多內容~~ ---- ## for中有for ```python= for i in range(3): print('i:',i) for j in range(10,12): print("j:",j) ``` ---- ## 增加好感度 練習題 - 練習題:依照位置輸出2\*3矩陣的index值 輸出: ``` 11 12 13 21 22 23 ``` ---- ## for 練習題答案 ```python= for i in '12': for j in '123': print(i+j,end=' ') print('') # 換行 ``` ---- ## 增加好感度 練習題 - 練習題:輸入數字n 輸出n\*n乘法表 ---- ## for 練習題答案 ```python= n = int(input()) for i in range(1,n+1): for j in range(1,n+1): print(f"{i} * {j} = {i*j}") # 2 * 3 = 6 ``` --- ## 好康大放送 ```python= for i in range(5): if(i % 2): break/continue/pass print(i) # 0 # 0 2 4 # 0 1 2 3 4 ``` --- ## 帶回家玩 回家練習: - 用For寫看看! https://neoj.sprout.tw/problem/3019/ 回家作業: - https://neoj.sprout.tw/problem/3031/
{"metaMigratedAt":"2023-06-16T19:42:58.639Z","metaMigratedFrom":"Content","title":"For 迴圈","breaks":true,"contributors":"[{\"id\":\"9a14c697-53b2-4214-a12a-512e946e0176\",\"add\":4716,\"del\":1631}]"}
    759 views