# <center> **邏輯判斷 if、elif、else**
# if 判斷
**「如果怎樣...就怎樣...」,使用方式為「if 條件:」,對應的程式需使用「縮排」,如果判斷為 True,就會執行對應的程式,反之如果是 False,就會跳過判斷式,繼續執行下方的程式。**
```python!
a = 8
b = 6
if(b > a):
print("success") #b > a 這個判是"False"不會執行
print ("Hi")
#輸出:Hi
```
**流程圖**

# else
**if 可以和 else 搭配使用,if 對應結果為 True 的程式,else 對應結果為 False 的程式,當對應的程式都執行完成後,繼續執行下方程式。**
```python!
數學 = 88
英文 = 99
if (英文 > 數學):
print ("理科之恥")
else :
print("復旦之恥")
#輸出:理科之恥
```
**流程圖**

# **elif**
**如果加入 elif 的條件判斷,搭配 if 和 else ,就能判斷多種不同的條件,elif 的使用方式為「elif 條件:」,if 和 elif 都能針對各自對應的 True 結果執行對應的程式,而 else 仍然是對應結果為 False 的程式,當對應的程式都執行完成後,繼續執行下方程式。**
```python!
數學 = 88
英文 = 99
if(數學 > 英文):
print('禮拜五早上交罰寫')
elif(英文 == 100 or 數學 == 100):
print('跟校排一同分')
else:
print('復旦之恥')
```
**流程圖**

# **三元運算子(補充)**
**如果一個判斷式裡面只有 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是什麼可以看第一堂社課講義)**

**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://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