---
# System prepended metadata

title: wk04

---

# wk04_0928_判斷式 B1143024
<pre>
3.1  Python 程式碼縮排
1. Python 程式碼縮排格式
2. 絕對不要混用Tab鍵和空白鍵

3.2 判斷式
1. 程式流程控制
- 判斷式
- 迴圈
2. 單向判斷式 (if...)
3. 雙向判斷式 (if...else)
4. 多向判斷式 (if...elif...else)
5. 巢狀判斷式
</pre>
<pre>
In [ ]:
sunny = "N"

if sunny == "Y" : 
    print("我們出去玩吧")
    
In [2]:
sunny = "N"

if sunny == "Y" : 
    print("我們出去玩吧")
else : 
    print("乖乖待在家")
乖乖待在家
</pre>
<pre>
## 【inclass practice】

{綜合演練}

實作1

小明出門經常忘記帶雨傘，碰到下雨就淋成落湯雞。他的好友英倫決定幫忙他設計一個檢查是否 要帶傘的程式；如果今天會下雨，就提醒小明"出門記得帶傘!!"，讓小明從此過著幸福快樂的日子。

實作5

請設計程式判斷使用者輸入的西元年是否為閏年(平年)，閏年的規則是 :

西元年若是可以被100整除，又能被400整除則是閏年。 西元年若不可以被100整除，但卻能被4整除則是閏年。

In [23]:
what_year = 2000

if what_year % 100 == 0 :
    if what_year % 400 == 0 : 
        result = "閏年"
    else : 
        result = "平年"
else : 
    if what_year % 4 == 0 : 
        result = "閏年"
    else : 
        result = "平年"


print(result)
閏年
</pre>
<pre>
{範例}

1. 密碼輸入判斷
2. 進階密碼判斷
3. 判斷成績等第
4. 百貨公司折扣戰

In [5]:
password = "1234"

usr_pwd = 1234

if usr_pwd ==password : 
    ans = "weclome"
else : 
    ans = "error, please try again!!"

print(ans )
error, please try again!!

In [4]:
usr_pwd == int(password)
Out[4]:	
True

In [7]:
x=str(input("請輸入密碼"))
password="3024"
if x==password:
    print("歡迎光臨")
else:
    print("在試一次")      
請輸入密碼3024
歡迎光臨

In [14]:
# 判斷成績等第 <grade>

score = 50

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 )
F

In [17]:
# 判斷季節

#now_month = 11
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 = "數字超過1-12 範圍外"


print( season )
what month ??5
summer

In [40]:
# 百貨公司折扣戰

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 元
</pre>
<pre>
{概念複習}

1. 程式區塊
2. 程式流程控制
3. 單向
4. 雙向
5. 多向
6. 巢狀
</pre>
<pre>
## 【afterclass practice】

1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell )
2. 教學影音 lesson 7
( A ) 1. Python 語言以下列那一個符號及縮排來表示程式區塊？

(A)「:」 (B)「!」 (C)「#」 (D)「\」

( B ) 2. 「if 條件式:」的敘述中，下列那一項正確？

(A) 當條件式為 False 時，就會執行程式區塊的敘述。

(B) 當條件式為 True 時，就會執行程式區塊的敘述。

(C) 當條件式改變時，就會執行程式區塊的敘述。

(D) 當發生錯誤時，就會執行程式區塊的敘述。

( 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，執行下列程式後顯示的結果為何？

if (a==5):

print("1",end="")

print("2",end="")

(A)1 (B) 2 (C) 12 (D) 不顯示任何內容

In [25]:
a=3
if (a==5):

    print("1",end="")

print("2",end="")
2
( A ) 6. 變數 a 的值為 5，執行下列程式後顯示的結果為何？

if (a==5):

print("1",end="")

else:

print("2",end="")

(A) 1 (B) 2 (C) 12 (D) 不顯示任何內容

In [26]:
a=5
if (a==5):

    print("1",end="")

else:

    print("2",end="")
1
( C ) 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

In [29]:
a=4
if (a==5): 
    print("1",end="")

elif (a!=4):
    print("2",end="")

else:
    print("3",end="")
3
( C ) 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 元

In [34]:
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，執行下列程式後顯示的結果為何？

if (a>5 or b>5):

print(a)

else:

print(b)

(A) 3 (B) 7 (C) 37 (D) 不顯示任何內容

In [37]:
a=3
b=7
if (a>5 or b>5):

    print(a)

else:

    
    print(b)
3
( B ) 10. 變數 a = 3、b=7，執行下列程式後顯示的結果為何？

if (a>5 and b>5):

print(a)

else:

print(b)

(A) 3 (B) 7 (C) 37 (D) 不顯示任何內容

In [38]:
a=3
b=7
if (a>5 and b>5):

    print(a)

else:

    print(b)
7
</pre>