--- tags: FDCSC title: FDCSC111 Oct 19th --- FDCSC Oct 20th === # 迴圈 loop ### 概念 - 可以不斷執行相似事務直到條件不符合 ### 流程圖 ```flow s=>start: 程式碼開始執行 e=>end: 結束程式 op2=>operation: 程式碼 cond=>condition: if判斷式 s->cond->op2 cond(no)->e cond(yes)->op2 op2->cond ``` ![](https://i.imgur.com/y9hYpQ4.png) ### 分類 1. while loop 2. for loop ## while loop ### 語法 ```python= while 布林值: # 程式碼 ``` ### 實際應用 ```python= i = 100 while i != 0: print( i ) i += 1 ``` ### break & continue #### break - 用於結束迴圈 #### continue - 用於跳過以下步驟進行下次迴圈 ```python= i = 100 while i > -100: if i < 0: print( 0 ) break if i < 10: print( 10 ) continue print( i ) i -= 10 ``` ```python= i = 10 while i > 0: # 程式碼片段A if i > 5: continue # 程式碼片段B if i < 3: break # 程式碼片段C ``` #### 小問題 - 程式碼片段A會被執行幾次呢? - 程式碼片段B會被執行幾次呢? - 程式碼片段C會被執行幾次呢? ## for loop ## 語法 ```python= for 變數 in range/list/dict/tuple/map/set/str: # 程式碼 ``` ## range 函式 ### 語法 ```python= range([start], [stop], [step]) ``` ### 說明 - 表示整數範圍 - 從**start**開始,**stop**結束,每次往下**step**個數字 (首項為**start**,公差為**step**,最後一項小於**stop**的等差數列) |放入變數個數|1|2|3| |---|---|---|---| |放入變數|**stop**|**start**, **stop**|**stop**, **start**, **step**| |意涵|range(0, b, 1)|range(a, b, 1)|range(a, b, c) - 結論:**range**的**start**預設為0, **step**預設為1 ## list/dict/map/tuple/set/str [詳情請看資料結構篇](https://hackmd.io/@FDCSC/first_class)