## wk04_0928 ## 【inclass practice】 ## 【ch03_判斷式】 條件:關係運算式或邏輯運算式 1. 單向判斷式 (if...) 2. 雙向判斷式 (if...else) 3. 多向判斷式 (if...elif...else) 4. 巢狀判斷式 ```python # 單向判斷式 (if...) sunny = input("出太陽嗎? y or n ") if sunny=="y": print("我們出去玩吧") ``` 出太陽嗎? y or n y 我們出去玩吧 ```python # 單向判斷式 (if...) sunny = input("出太陽嗎? y or n ") if sunny.upper() !="y": print("我們在家吧") ``` 出太陽嗎? y or n n 我們在家吧 ```python # 雙向判斷式 (if...else) password = 123 if password == 123: print("welcome") else: print("error password, try again") ``` welcome ```python # 雙向判斷式 (if...else) password = "abcd" usr_pwd = input("enter password, please") if usr_pwd == password: print("welcome") else: print("error password, try again") ``` enter password, pleaseabcd welcome ```python # 多向判斷式 (if...elif...else) 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) ``` 99 成績等級 = A ```python # 多向判斷式 (if...elif...else) # 我的解法 month = int(input()) if month <= 2 : season = "winter" elif month >= 12 : season = "winter" elif month <= 5: season = "spring" elif month <= 8: season = "summer" else : season = "fall" print("season = ", season) ``` 11 season = fall ```python # 多向判斷式 (if...elif...else) # 老師的解法 month = int(input()) if month >= 3 and month <= 5: season = "spring" elif month >= 6 and month <= 8 : season = "summer" elif month >= 9 and month <= 11 : season = "fall" elif month == 12 or month == 1 or month ==2: season = "winter" print("season = ", season) ``` 12 season = winter ### {綜合演練} 實作5 請設計程式判斷使用者輸入的西元年是否為閏年(平年),閏年的規則是 : 1. 西元年若是可以被100整除,又能被400整除則是閏年。 2. 西元年若不可以被100整除,但卻能被4整除則是閏年。 ```python year = int(input()) if year % 100 ==0 and year % 400 ==0: print("閏年") elif year % 100 > 0 and year % 4 ==0: print("閏年") else : print("平年") ``` 2007 平年 ## 【afterclass practice】 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 7 #### 1. Python 語言以下列哪一個符號及縮排來表示程式區塊? ( A ) 「:」 ( B ) 「!」 ( C ) 「#」 ( D ) 「\」 答: ( A ) 「:」 #### 2. 「if條件式:」的敘述中,下列哪一項正確? ( A ) 當條件式為False時,就會執行程式區塊的敘述。 ( B ) 當條件式為True時,就會執行程式區塊的敘述。 ( C ) 當條件式改變時,就會執行程式區塊的敘述。 ( D ) 當發生錯誤時,就會執行程式區塊的敘述。 答: ( B ) 當條件式為True時,就會執行程式區塊的敘述。 #### 3. 「if...elif...else」條件式中,如果所以條件式都是False,則執行下列哪一程式區塊? ( A ) if ( B ) elif ( C ) else ( D ) 不會執行程式區塊的敘述 答: ( C ) else #### 4. 「if...else...」條件式的敘述中,下列哪一項正確? ( A ) 條件式只可使用關係運算式。 ( B ) 條件式只可使用邏輯運算式。 ( C ) 當條件可以是關係運算式,也可以是邏輯運算式。 ( D ) 以上皆不正確。 答: ( C ) 當條件可以是關係運算式,也可以是邏輯運算式。 #### 5. 變數a的值為3,執行下列程式後顯示的結果為何? if (a==5): print("1", end="") print("2", end="") ( A ) 1 ( B ) 2 ( C ) 12 ( D ) 不顯示任何內容 ```python a = 3 if (a==5): print("1", end="") print("2", end="") ``` 2 #### 6. 變數a的值為5,執行下列程式後顯示的結果為何? if (a==5): print("1", end="") else: print("2", end="") ( A ) 1 ( B ) 2 ( C ) 12 ( D ) 不顯示任何內容 ```python a = 5 if (a==5): print("1", end="") else: print("2", end="") ``` 1 #### 7. 變數a的值為4,執行下列程式後顯示的結果為何? if (a==5): print("1", end="") elif (a!=4): print("2", end="") else: print("3", end="") ( 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 #### 8. 變數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") ( 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 元 #### 9. 變數a=3、b=7,執行下列程式後顯示的結果為何? if (a>5 or b>5): print(a) else: print(b) ( A ) 3 ( B ) 7 ( C ) 37 ( D ) 不顯示任何內容 ```python a = 3 b = 7 if (a>5 or b>5): print(a) else: print(b) ``` 3 #### 10. 變數a=3、b=7,執行下列程式後顯示的結果為何? if (a>5 and b>5): print(a) else: print(b) ( A ) 3 ( B ) 7 ( C ) 37 ( D ) 不顯示任何內容 ```python a = 3 b = 7 if (a>5 and b>5): print(a) else: print(b) ``` 7 #### 教學影音 lesson 7 心得筆記 ```python score = int(input("請輸入你的成績: ")) if score >= 60: print("恭喜你及格了!") else: print("你被當了!") ``` 請輸入你的成績: 58 你被當了! ## 【self practice】 ```python # 雙向判斷式 (if...else) age = int(input()) if age >= 18: print("成年") else: print("未成年") ``` 17 未成年 ```python # 多向判斷式 (if...elif...else) hour = int(input("時間: ")) if hour >= 6 and hour < 12: say = "早安" elif hour >= 12 and hour <18: say = "下午好" else : say = "晚安" print("問候語 = ", say) ``` 時間: 7 問候語 = 早安