{%hackmd @dzif24x25/yRBnguqQQl-2ylH1j5h0cg %} # 流程控制 --- ## 比較運算子 --- ### `>` 大於 ```python x = 3 y = 4 print(x > y) ``` 輸出結果 ```bash False ``` --- ### `<` 小於 ```python x = 3 y = 4 print(x < y) ``` 輸出結果 ```bash True ``` --- ### `>=` 大於或等於 ```python x = 4 y = 4 print(x >= y) ``` 輸出結果 ```bash True ``` --- ### `<=` 小於或等於 ```python x = 4 y = 4 print(x <= y) ``` 輸出結果 ```bash True ``` --- ### `==` 等於 ```python x = 4 y = 4 print(x == y) ``` 輸出結果 ```bash True ``` --- ### `!=` 不等於 ```python x = 4 y = 4 print(x != y) ``` 輸出結果 ```bash False ``` --- ## 邏輯運算子 --- ### `and` 而且 | `and`運算 | A: <font color=#448aff>True</font> | B: <font color=#ff5252>False</font> | | -------- | -------- | -------- | | **B: <font color=#448aff>True</font>** | <font color=#448aff>True</font> | <font color=#ff5252>False</font> | | **B: <font color=#ff5252>False</font>** | <font color=#ff5252>False</font> | <font color=#ff5252>False</font> | --- ```python print('T and T =', True and True) print('T and F =', True and False) print('F and T =', False and True) print('F and F =', False and False) ``` 輸出結果 ```bash T and T = True T and F = False F and T = False F and F = False ``` --- ### `or` 或者 | `or`運算 | A: <font color=#448aff>True</font> | B: <font color=#ff5252>False</font> | | -------- | -------- | -------- | | **B: <font color=#448aff>True</font>** | <font color=#448aff>True</font> | <font color=#448aff>True</font> | | **B: <font color=#ff5252>False</font>** | <font color=#448aff>True</font> | <font color=#ff5252>False</font> | --- ```python print('T and T =', True or True) print('T and F =', True or False) print('F and T =', False or True) print('F and F =', False or False) ``` 輸出結果 ```bash T and T = True T and F = True F and T = True F and F = False ``` --- ### `not` 非 | `not`運算 | A: <font color=#448aff>True</font> | A: <font color=#ff5252>False</font> | | -------- | -------- | -------- | | | <font color=#ff5252>False</font> | <font color=#448aff>True</font> | --- ```python print('not True =', not True) print('not False =', not False) ``` 輸出結果 ```bash not True = False not False = True ``` --- ## if敘述 --- 程式碼: ```python if 條件敘述: 程式區塊 ``` --- 流程圖: :::info ```flow st=>start: if 開始 cond=>condition: 條件敘述 chunk=>operation: 程式區塊 en=>end: if 結束 st->cond cond(yes)->chunk->en cond(no)->en ``` ::: --- 註:若有程式區塊有多行,每一行程式的空格必須相同 ```python if 條件敘述: ****程式區塊 ****程式區塊 ****程式區塊 ``` 若有程式區塊只有單行,可以這樣寫: ```python if 條件敘述: 程式區塊 ``` --- ## if...else敘述 程式碼: ```python if 條件敘述: 程式區塊A else: 程式區塊B ``` --- 流程圖: :::info ```flow st=>start: if...else 開始 cond=>condition: 條件敘述 chunkA=>operation: 程式區塊A chunkB=>operation: 程式區塊B en=>end: if...else 結束 st->cond cond(yes)->chunkA->en cond(no)->chunkB->en ``` ::: --- ## if...elif...else敘述 程式碼: ```python if 條件敘述1: 程式區塊1 elif 條件敘述2: 程式區塊2 elif 條件敘述3: 程式區塊3 else: 程式區塊n ``` --- 流程圖: :::info ```flow st=>start: if...elif...else 開始 cond1=>condition: 條件敘述1 cond2=>condition: 條件敘述2 cond3=>condition: 條件敘述3 chunk1=>operation: 程式區塊1 chunk2=>operation: 程式區塊2 chunk3=>operation: 程式區塊3 chunkn=>operation: 程式區塊n en=>end: if...elif...else 結束 st->cond1 cond1(yes)->chunk1->en cond1(no)->cond2 cond2(yes)->chunk2->en cond2(no)->cond3 cond3(yes)->chunk3->en cond3(no)->chunkn->en ``` ::: --- ### 範例 - 成績等級計算 ```python= score = int(input('請輸入您的分數:')) if score >= 90: level = '甲等' elif score >= 80: level = '乙等' elif score >= 70: level = '丙等' elif score >= 60: level = '丁等' else: level = '不及格' print('您的成績為', level) ``` --- 輸出結果: ![](https://i.imgur.com/Z20Fgdh.gif) --- 輸出結果: ![](https://i.imgur.com/iCvi5KN.gif)
{"metaMigratedAt":"2023-06-17T22:29:29.945Z","metaMigratedFrom":"YAML","title":"流程控制","breaks":true,"contributors":"[{\"id\":\"b1b336d5-b75d-4c19-b4f6-fccd69a2a9f2\",\"add\":3873,\"del\":488},{\"id\":\"28b47a62-f757-4c45-9850-2e0af27b37a6\",\"add\":352,\"del\":0}]"}
    148 views
   Owned this note