---
# System prepended metadata

title: wk04_0928_判斷式

---

# wk04_0928_判斷式

條件 : 關係(比較)運算式  or 邏輯運算式

1. 單向判斷式 (if...)
2. 雙向判斷式 (if...else)
3. 多向判斷式 (if...elif...else)
4. 巢狀判斷式


```python
sunny = "Y"

if sunny == "Y" :
    print("我們出去玩吧")
```

    我們出去玩吧
    


```python
sunny = "N"

if sunny == "Y" :
    print("我們出去玩吧")
else :
    print("乖乖待在家")
```

    乖乖待在家
    

### {範例}
1. 密碼輸入判斷 <password1>
2. 進階密碼判斷 <password2>
3. 判斷成績等第 <grade>
4. 百貨公司折扣戰 <discount>



```python
password = "921218"

usr_pwd = input("請輸入密碼")

if usr_pwd == password:
    ans = "welcome"
else :
    ans = "error, please try again"
print(ans )
```

    請輸入密碼921218
    welcome
    


```python
# 判斷成績等第 <grade>
score = 100


if score >= 90 :
    grade = "A"
elif score >= 80 :
    grade = "B"  
elif score >= 70 :
    grade = "c"
elif score >= 60 :
    grade = "D"
elif score < 60 :
    grade = "F"
    

print(grade)
```

    A
    


```python
# 判斷季節

#now_month = 12
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
    

{實作5}

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

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


```python
what_year = 2003

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


print(result)
```

    平年
    


```python
# 百貨公司折扣戰

金額 = int(input("原始消費金額??"))

if 金額 >= 10000 and dollar < 30000:
    打折後金額 = dollar*0.95
elif 金額 >= 30000 and dollar < 50000:
    打折後金額 = dollar*0.9
elif 金額 >= 50000 and dollar < 100000:
    打折後金額 = dollar*0.85
elif 金額 > 100000:
    打折後金額 = dollar*0.8

print(打折後金額)
```

    原始消費金額??30000
    27000.0
    

### {afterclass practice}

### 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) 不顯示任何內容


```python
a = 3

if (a==5):
    print("1",end="")
    
print("2",end="")
```

    2

ans : ( B )

### 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

ans : ( A )

### 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

ans : ( 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 元


```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 元
    


```python
ans : ( C )
```

### 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
    

ans : ( A )

### 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
    

ans : ( B )