# wk04_0928_判斷式 條件 : 關係運算式 或 邏輯運算式 1. 單向 2. 雙向 3. 多向 4. 巢狀 ## [Inclass practice] ```python #1. 單向 sunny = input("出太陽嗎?(y/n)") if sunny.lower() != "y" : print("我們乖乖在家吧") ``` 出太陽嗎?(y/n)n 我們乖乖在家吧 ```python #2. 雙向 pw=int(input("請輸入密碼:")) if pw==123 : print("welcome") else : print("error password, try again!") ``` 請輸入密碼:521 error password, try again! ```python #3. 多向 score = int(input("請輸入分數:")) if score >= 90 : grade = "A" elif score >= 80 : grade = "B" elif score >= 70 : grade = "C" elif score >= 60 : grade = "D" else : grade = "F" print("成績等級 = ",grade) ``` 請輸入分數:60 成績等級 = D ```python #4. 巢狀 month = int(input("請輸入月份:")) if month >=3 and month<=5 : print ("現在季節:春天") elif month >=6 and month <=8 : print ("現在季節:夏天") elif month >=9 and month <=11 : print ("現在季節:秋天") else : print("現在季節:冬天") ``` 請輸入月份:8 現在季節:夏天 ### {綜合演練} 實作1 小明出門經常忘記帶雨傘,碰到下雨就淋成落湯雞。他的好友英倫決定幫忙他設計一個檢查是否 要帶傘的程式;如果今天會下雨,就提醒小明"出門記得帶傘!!",讓小明從此過著幸福快樂的日子。 ```python a=input("今天會下雨嗎?(y/n)") if a=="y" : #y要"" print("出門記得帶傘!") else : print(" ") ``` 今天會下雨嗎?(y/n)n 實作5 請設計程式判斷使用者輸入的西元年是否為閏年(平年),閏年的規則是 : 西元年若是可以被100整除,又能被400整除則是閏年。 西元年若不可以被100整除,但卻能被4整除則是閏年。 ```python year=int(input("請輸入一個西元年:")) if year%100 == 0 and year%400 == 0 : print("西元%d年是閏年" %year) elif year%100 !=0 and year%4 == 0 : print("西元%d年是閏年" %year) else : print("西元%d年不是閏年" %year) ``` 請輸入一個西元年:1987 西元1987年不是閏年 ## [Afterclass practice] A 1. Python 語言以下列那一個符號及縮排來表示程式區塊? A)「:」 (B)「!」 (C)「#」(D)「\」 B 2. 「if 條件式:」的敘述中,下列那一項正確? <pve>(A) 當條件式為 False 時,就會執行程式區塊的敘述。 (B) 當條件式為 True 時,就會執行程式區塊的敘述。 (C) 當條件式改變時,就會執行程式區塊的敘述。 (D) 當發生錯誤時,就會執行程式區塊的敘述</pve> C 3. 「if…elif…else」條件式中,如果所有條件式都是 False,則執行下 列那一程式區塊?(A) if (B) elif (C) else (D)不會執行程式區塊的敘述 C 4. 「if …else…」條件式的敘述中,下列那一項正確?(A) 條件式只可使用關係運算式。 (B) 條件式只可使用邏輯運算式。 (C) 當條件可以是關係運算式,也可以是邏輯運算式。 (D) 以上皆不正確。 B 5. 變數 a 的值為 3,執行下列程式後顯示的結果為何?(A)1 (B) 2 (C) 12 (D) 不顯示任何內容 ```python a=3 if (a==5): print("1",end="") print("2",end="") ``` 2 A 6. 變數 a 的值為 5,執行下列程式後顯示的結果為何?(A) 1 (B) 2 (C) 12 (D) 不顯示任何內容 ```python a=5 if (a==5): print("1",end="") else: print("2",end="") ``` 1 C 7. 變數 a 的值為 4,執行下列程式後顯示的結果為何?A) 1 (B) 2 (C) 3 (D) 123 ```python a=4 if (a==5): print("1",end="") elif (a!=4): print("2",end="") else: print("3",end="") ``` 3 C 8. 變數 a 的值為 20000,執行下列程式後顯示的結果為何?(A) 10000.0 元 (B) 16000.0 元 (C) 18000.0 元 (D) 20000.0 元 ```python a=20000 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") ``` 18000.0 元 A 9. 變數 a = 3、b=7,執行下列程式後顯示的結果為何?(A) 3 (B) 7 (C) 37 (D) 不顯示任何內容 ```python a=3 b=7 if (a>5 or b>5): print(a) else: print(b) ``` 3 B 10. 變數 a = 3、b=7,執行下列程式後顯示的結果為何?(A) 3 (B) 7 (C) 37 (D) 不顯示任何內容 ```python a=3 b=7 if (a>5 and b>5): print(a) else: print(b) ``` 7 ## [Self practice] # 四種判斷式 A. 單向 ```python age = int(input("請輸入年齡:")) if age >= 18 : print("yes") ``` 請輸入年齡:20 yes B. 雙向 ```python day = input("今天星期幾(星期一 ~ 星期日)?") if day == "星期六" or day == "星期日" : print("今天是周末!") else : print("今天是工作日...") ``` 今天星期幾(星期一 ~ 星期日)?星期一 今天是工作日... C. 多項 ```python user_role = input("您的使用者角色為?") if user_role == "admin" : print("您有完整權限") elif user_role == "editor" : print("您有編輯權限") elif user_role == "guest" : print("您有只讀權限") else : print ("無權限") ``` 您的使用者角色為?teacher 無權限 D. 巢狀 ```python weather = input("今天是什麼天氣(晴天、雨天)?") temp = int(input("今天氣溫幾度(number)?")) if weather == "晴天": if temp >= 25 : print("今天建議穿短袖!") else : print("今天建議穿長袖!") else : print("今天建議帶雨傘!") ``` 今天是什麼天氣(晴天、雨天)?雨天 今天氣溫幾度(number)?20 今天建議帶雨傘!