# Python 流程控制 ###### tags: `python` (注意縮排 tab) ## 判斷式 ### if ```python= if 布林值1 : 若布林值1為True,則執行命令 elif 布林值2: 若布林值2為True,則執行命令 else : 若布林值1,2為False,執行命令 ``` 範例 ```python= x = input("input a number:")#基本輸入為字串型態 x = int(x) #轉換為整數型態 if x>200: print("larger than 200") elif x>100: print("between 100 and 200") else: print("smaller than 100") ``` > input a number: 150 > between 100 and 200 ## 迴圈 while、for ### while ```python= while 布林值: 若布林值為True,執行命令 回到上方,做下一次的迴圈判斷 ``` 範例 ```python= n=1 sum = 0 #紀錄累加結果 while n<5: print("variable n is : ",n) sum+=n n+=1 print("sum:",sum) ``` >variable n is : 1 variable n is : 2 variable n is : 3 variable n is : 4 sum:10 無限循環 ```python= n=1 while True: print(n) n+=1 ``` ### for ```python= for 變數名稱 in 列表或字串 將列表中的項目或字串中的字元逐一取出,逐一處理 ``` 範例 ```python= for x in [4,1,2]: print("data: ",x) for c in "Hel": print("data: ",c) ``` > data: 4 > data: 1 > data: 2 > data: H > data: e > data: l #### range() 製造連續數字列表 沒有定義開頭(從0開始到range內數字-1) >for 變數名稱 in range(3): 相當於 for 變數名稱 in [0,1,2]: 有定義開頭、結尾 >for 變數名稱 in range(3,6): >相當於 >for 變數名稱 in [3,4,5]: ### 迴圈進階指令 break、continue 寫在迴圈內) (else寫在迴圈外) #### break 強制結束迴圈 ```python= while 布林值: break for 變數名稱 in 列表或字串 break ``` 範例 ```python= n=1 while n<5: if n==3: #等於3時 強制結束整個迴圈 break n+=1 print(n) ``` >3 #### continue 強制進入下一圈 忽略符合條件的下方程式 ```python= while 布林值: continue for 變數名稱 in 列表或字串 continue ``` 範例 ```python= n=0 for x in [0,1,2,3]: if x%2==0: continue n+=1 print("n: ",n) ``` >n: 2 #### else 加在迴圈外,下方, 結束迴圈前執行else內程式 範例 ```python= n=1; while n<5: print("var n is :",n) n+=1 else: print(n) ``` >var n is : 1 var n is : 2 var n is : 3 var n is : 4 5 ```python= for c in "Hel": print(c) else: print(c) ``` >H >e >l >l [參考教材](https://www.youtube.com/watch?v=yBXlwOmLqZ4&list=PL-g0fdC5RMboYEyt6QS2iLb_1m7QcgfHk&index=8)