# wk4_0928 wk4 0928 ch03_判斷式 3.1 Python 程式碼縮排 1. Python 程式碼縮排格式 2. 絕對不要混用Tab鍵和空白鍵 3.2 判斷式 1. 程式流程控制 -判斷式 -迴圈 2. 單向判斷式 (if...) 3. 雙向判斷式 (if...else) 4. 多向判斷式 (if...elif...else) 5. 巢狀判斷式 【inclass practice】 {綜合演練} 實作1 小明出門經常忘記帶雨傘,碰到下雨就淋成落湯雞。他的好友英倫決定幫忙他設計一個檢查是否 要帶傘的程式;如果今天會下雨,就提醒小明"出門記得帶傘!!",讓小明從此過著幸福快樂的日子。 In [7]: sunny="Y" if sunny=="Y": print("我們出去玩吧!") else: print("乖乖待在家!") 我們出去玩吧! 實作5 請設計程式判斷使用者輸入的西元年是否為閏年(平年),閏年的規則是 : 西元年若是可以被100整除,又能被400整除則不是閏年。 西元年若不可以被100整除,但卻能被4整除則是閏年。 In [6]: y=int(input("請輸入西元年")) x=y%100 z=y%4 if x!=0 and z==0: print(y,"年為閏年") else: print(y,"年不為閏年") 請輸入西元年2004 2004 年為閏年 {範例} 1.密碼輸入判斷 2.進階密碼判斷 3.判斷成績等第 4.百貨公司折扣戰 In [18]: 密碼輸入判斷 x=str(input("請輸入密碼")) password="2004" if x==password: print("歡迎光臨") else: print("再試一次") 請輸入密碼2004 歡迎光臨 In [19]: 判斷成績等第 g=int(input("請輸入成績")) if g>90: print("優等A") elif g>80: print("甲等B") elif g>70: print("乙等C") elif g>60: print("丙等D") else: print("丁等E") 請輸入成績85 甲等B In [20]: 電影院 y=int(input("請輸入年齡")) if y>18: print("您已成年,可看各級影片") elif y>12: print("可看限制級以外的所有影片") elif y>6: print("可看普遍級及保護級") else: print("僅可看普遍級") 請輸入年齡17 可看限制級以外的所有影片 In [24]: m=int(input("請輸入月份")) if m>=12 or m<=2: print("winter") elif m>=9: print("fall") elif m>=6: print("summer") else: print("spring") 請輸入月份8 summer In [44]: 百貨公司折扣 c=int(input("請輸入購物金額")) n=0 if c>=100000: n=c*0.8 elif c>=50000: n=c*0.85 elif c>=30000: n=c*0.9 elif c>=10000: n=c*0.95 else: n=c print(n,"元") 請輸入購物金額50000 42500.0 元 {概念複習} 1. 程式區塊 2. 程式流程控制 3. 單向 4. 雙向 5. 多向 6. 巢狀 【afterclass practice】 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 7 選擇題 1. Python語言以下列哪一個符號及縮牌來表示程式區塊? A. : B. ! C. # D. \ ans.A 2. 「if 條件式:」的敘述中,下列那一項正確? (A) 當條件式為 False 時,就會執行程式區塊的敘述。 (B) 當條件式為 True 時,就會執行程式區塊的敘述。 (C) 當條件式改變時,就會執行程式區塊的敘述。 (D) 當發生錯誤時,就會執行程式區塊的敘述。 ans.B 3. 「if…elif…else」條件式中,如果所有條件式都是 False,則執行下列那一程式區塊? (A) if (B) elif (C) else (D)不會執行程式區塊的敘述 ans.C 4. 「if …else…」條件式的敘述中,下列那一項正確? (A) 條件式只可使用關係運算式。 (B) 條件式只可使用邏輯運算式。 (C) 當條件可以是關係運算式,也可以是邏輯運算式。 (D) 以上皆不正確。 ans.C 5. 變數 a 的值為 3,執行下列程式後顯示的結果為何? if (a==5): print("1",end="") print("2",end="") (A)1 (B) 2 (C) 12 (D) 不顯示任何內容 ans.B In [33]: 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) 不顯示任何內容 ans.A In [35]: 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 ans.C In [38]: 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 元 ans.C In [41]: 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) 不顯示任何內容 ans.A In [42]: 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) 不顯示任何內容 ans.B In [43]: a=3 b=7 if (a>5 and b>5): print(a) else: print(b)