# <center> **邏輯判斷 if、elif、else** # if 判斷 **「如果怎樣...就怎樣...」,使用方式為「if 條件:」,對應的程式需使用「縮排」,如果判斷為 True,就會執行對應的程式,反之如果是 False,就會跳過判斷式,繼續執行下方的程式。** ```python! a = 8 b = 6 if(b > a): print("success") #b > a 這個判是"False"不會執行 print ("Hi") #輸出:Hi ``` **流程圖** ![](https://hackmd.io/_uploads/B1jhrd6WT.png) # else **if 可以和 else 搭配使用,if 對應結果為 True 的程式,else 對應結果為 False 的程式,當對應的程式都執行完成後,繼續執行下方程式。** ```python! 數學 = 88 英文 = 99 if (英文 > 數學): print ("理科之恥") else : print("復旦之恥") #輸出:理科之恥 ``` **流程圖** ![](https://hackmd.io/_uploads/ry4ovdaZa.png) # **elif** **如果加入 elif 的條件判斷,搭配 if 和 else ,就能判斷多種不同的條件,elif 的使用方式為「elif 條件:」,if 和 elif 都能針對各自對應的 True 結果執行對應的程式,而 else 仍然是對應結果為 False 的程式,當對應的程式都執行完成後,繼續執行下方程式。** ```python! 數學 = 88 英文 = 99 if(數學 > 英文): print('禮拜五早上交罰寫') elif(英文 == 100 or 數學 == 100): print('跟校排一同分') else: print('復旦之恥') ``` **流程圖** ![](https://hackmd.io/_uploads/BJgbT_a-T.png) # **三元運算子(補充)** **如果一個判斷式裡面只有 if 和 else,就能夠使用三元運算式來簡化,三元運算式的語法為: " 變數 = (值1) if (條件式) else (值2) "** ```python! 數學 = 88 英文 = 99 誰比較大 = "數學" if 數學>英文 else "英文" print(誰比較大) #輸出:英文 ``` # **題目練習** https://dandanjudge.fdhs.tyc.edu.tw/ShowProblem?problemid=a015 https://dandanjudge.fdhs.tyc.edu.tw/ShowProblem?problemid=a017 # <center> **迴圈 ( for、while )** **在程式執行的過程中,有時候會重複執行一些相同的運算,這時可以使用「迴圈」來處理這些重複且相同的程式碼,增加程式的可讀性以及寫程式的效率,本篇會介紹 for 迴圈與 while 迴圈,以及 break 中斷命令與 continue 跳過命令。** # for 迴圈 **「for 迴圈」的使用的方法為「for 變數 in 可迭代的物件:」,執行之後,for 迴圈會依序將可以迭代的物件取出,賦值給指定的變數 ( 可迭代的物件像是字串、串列、字典、集合...等 )。** ### 迭代是什麼? **迭代是重複反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重複稱為一次“迭代”。** :::spoiler **補充(自學)** **滿多東西都可以作為「可迭代物」(iterable),以函式(Function)來說的話,常見的包括 range()、enumerate()、zip()、reversed()、sorted();以資料型態來說的話,包括字串(string)、串列(list)、元組(tuple)、字典(dictionary)。** ::: --- **詳細介紹: https://medium.com/ai-academy-taiwan/python-%E7%9A%84%E5%8F%AF%E8%BF%AD%E4%BB%A3%E7%89%A9%E4%BB%B6-%E8%BF%AD%E4%BB%A3%E5%99%A8%E5%92%8C%E7%94%A2%E7%94%9F%E5%99%A8-236d19c4051e** ### **for用法(如果忘記end是什麼可以看第一堂社課講義)** ![](https://hackmd.io/_uploads/BJBh9pA-6.png) **range()使用說明🤏: range(5) → 代表0, 1, 2, 3, 4 range(1,5) → 代表1, 2, 3, 4 range(1,10,2) → 代表1, 3, 5, 7, 9** **反正就是range( start起點 , stop終點 , step間隔 ),為左閉右開(包含開始不含終點) 起點不打預設為0,間隔不打預設為1。** # while 迴圈 **「while 迴圈」是「根據條件判斷,決定是否重複或停止」的迴圈,用法為「while 條件:」,如果條件判斷為 True,就會不斷執行迴圈內容,如果判斷為 False,就會停止迴圈** ```python! 平均1 = 95.3 平均2 = 95.6 while 平均1 < 平均2: print("為什麼又輸了") #心態受到打擊 break #輸出:為什麼又輸了 ``` # break 和 continue **break 和 continue 的差別在於 break 會將整個迴圈停止,而 continue 是將迴圈目前執行的程式停止,然後再次執行迴圈,下圖為兩者的執行差異。** ![](https://hackmd.io/_uploads/B1c3f0RWp.png) # **題目練習** https://dandanjudge.fdhs.tyc.edu.tw/ShowProblem?problemid=b046 https://dandanjudge.fdhs.tyc.edu.tw/ShowProblem?problemid=a142 # 資料來源 https://steam.oxxostudio.tw/category/python/basic/loop.html https://blog.csdn.net/qq_45937199/article/details/111463106 https://steam.oxxostudio.tw/category/python/basic/if.html