### week04_0928_判斷式 條件:關係(比較)運算式 or 邏輯運算式 1. 單向判斷式 2. 雙向判斷式 3. 多向判斷式 4. 巢狀判斷式 ### [inclass practice] ```python sunny = "N" #大小寫視為相異 if sunny == "Y" : print("我們出去玩吧") ``` ```python sunny = "N" if sunny == "Y" : print("我們出去玩吧") else : print("乖乖待在家") ``` 乖乖待在家 ### {範例} 1. 密碼輸入判斷 \<password1> 2. 進階密碼判斷 \<password2> 3. 判斷成績等第 \<grade> 4. 百貨公司折扣戰 \<discount> ```python # 密碼輸入判斷 <password> password = 223 usr_pwd = int(input("enter ypur password:")) if usr_pwd == password : ans = "welcome" else : ans = "error, please try again!!!" print(ans) ``` enter ypur password:223 welcome ```python # 判斷成績等第 <grade> score = int(input("enter your score:")) if score >= 90 : grade = "A" elif score >= 80 : grade = "B" elif score >= 80 : grade = "C" elif score >= 80 : grade = "D" else : grade = "F" print(grade) ``` enter your score:100 A ```python # 判斷季節 now_month = int(input("what month ??")) if now_month >= 2 and now_month <= 4 : season = "spring" elif now_month >= 5 and now_month <= 7 : season = "summer" elif now_month >= 8 and now_month <= 10 : season = "fall" elif now_month == 11 or now_month == 12 or now_month == 1 : season = "winter" else : season = "數字超過月份範圍" print(season) ``` what month ??5 summer ### 實作5 ``` 請設計程式判斷使用者輸入的西元年是否為閏年(平年),閏年的規則是 : 西元年若是可以被100整除,又能被400整除則是閏年。 西元年若不可以被100整除,但卻能被4整除則是閏年。 ``` ```python what_year = int(input("enter year:")) if what_year % 100 == 0 : if what_year % 400 == 0 : result = "閏年" else : result = "平年" elif what_year % 4 == 0 : result = "閏年" else : result = "平年" print(result) ``` enter year:2000 閏年 ```python money = int(input("請輸入購物金額:")) if (money >= 10000) : if (money >= 100000) : print(money * 0.8, end=" 元\n") elif (money >= 50000) : print(money * 0.85, end=" 元\n") elif (money >= 30000) : print(money * 0.9, end=" 元\n") else : print(money * 0.95, end=" 元\n") else : print (money, end=" 元\n") ``` 請輸入購物金額:10000 9500.0 元 ### [afterclass practice] 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 7 ### 綜合演練 1. Python 語言以下列那一個符號及縮排來表示程式區塊?<br> (A)「:」 (B)「!」 (C)「#」 (D)「\」<br> ans:(A) 2. 「if 條件式:」的敘述中,下列那一項正確?<br> (A) 當條件式為 False 時,就會執行程式區塊的敘述。<br> (B) 當條件式為 True 時,就會執行程式區塊的敘述。<br> (C) 當條件式改變時,就會執行程式區塊的敘述。 <br> (D) 當發生錯誤時,就會執行程式區塊的敘述。<br> ans:(B) 3. 「if…elif…else」條件式中,如果所有條件式都是 False,則執行下列那一程式區塊?<br> (A) if (B) elif (C) else (D)不會執行程式區塊的敘述<br> ans:(C) 4. 「if …else…」條件式的敘述中,下列那一項正確?<br> (A) 條件式只可使用關係運算式。<br> (B) 條件式只可使用邏輯運算式。<br> (C) 當條件可以是關係運算式,也可以是邏輯運算式。 <br> (D) 以上皆不正確。<br> ans:(C) 5. 變數 a 的值為 3,執行下列程式後顯示的結果為何?<br> if (a==5):<br> print("1",end="")<br> print("2",end="")<br> (A)1 (B) 2 (C) 12 (D) 不顯示任何內容<br> ans:(B) ```python a = int(input("enter a number:")) if (a==5): print("1",end=" ") print("2",end=" ") ``` enter a number:3 2 6. 變數 a 的值為 5,執行下列程式後顯示的結果為何?<br> if (a==5):<br> print("1",end="")<br> else: <br> print("2",end="")<br> (A) 1 (B) 2 (C) 12 (D) 不顯示任何內容<br> ans:(A) ```python a = int(input("enter a number:")) if (a==5): print("1",end="") else: print("2",end="") ``` enter a number:5 1 7. 變數 a 的值為 4,執行下列程式後顯示的結果為何?<br> if (a==5): print("1",end="")<br> elif (a!=4): print("2",end="") <br> else: print("3",end="")")<br> (A) 1 (B) 2 (C) 3 (D) 123<br> ans:(C) ```python a = int(input("enter a number:")) if (a==5): print("1",end="") elif (a!=4): print("2",end="") else: print("3",end="") ``` enter a number:4 3 8. 變數 a 的值為 20000,執行下列程式後顯示的結果為何?<br> if (a >= 10000):<br> if (a >= 100000):<br> print(a * 0.5, end=" 元\n") <br> elif (a >= 50000):<br> print(a * 0.8, end=" 元\n") <br> else:<br> print(a * 0.9, end=" 元\n")<br> else:<br> print(a, end=" 元\n")<br> (A) 10000.0 元 (B) 16000.0 元 (C) 18000.0 元 (D) 20000.0 元<br> ans:(C) ```python a = int(input("enter a number:")) if (a >= 10000): if (a >= 100000): print(a * 0.5, end=" 元\n") elif (a >= 50000): print(a * 0.8, end=" 元\n") else: print(a * 0.9, end=" 元\n") else: print(a, end=" 元\n") ``` enter a number:20000 18000.0 元 9. 變數 a = 3、b=7,執行下列程式後顯示的結果為何?<br> if (a>5 or b>5):<br> print(a)<br> else: <br> print(b)<br> (A) 3 (B) 7 (C) 37 (D) 不顯示任何內容<br> ans:(A) ```python a = int(input("enter number a:")) b = int(input("enter number b:")) if (a>5 or b>5): print(a) else: print(b) ``` enter number a:3 enter number b:7 3 10. 變數 a = 3、b=7,執行下列程式後顯示的結果為何?<br> if (a>5 and b>5):<br> print(a)<br> else: <br> print(b)<br> (A) 3 (B) 7 (C) 37 (D) 不顯示任何內容<br> ans:(B) ```python a = int(input("enter number a:")) b = int(input("enter number b:")) if (a>5 and b>5): print(a) else: print(b) ``` enter number a:3 enter number b:7 7