---
# System prepended metadata

title: week04_0928_判斷式
tags: [pynote]

---

### week04_0928_判斷式
條件：關係(比較)運算式  or  邏輯運算式
1. 單向判斷式
2. 雙向判斷式
3. 多向判斷式
4. 巢狀判斷式

### [inclass practice]


```python
sunny = "N" #大小寫視為相異

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

```


```python
sunny = "N"

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

    乖乖待在家
    

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



```python
# 密碼輸入判斷 <password>
password = 223

usr_pwd = int(input("enter ypur password:"))

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

print(ans)
```

    enter ypur password:223
    welcome
    


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

score = int(input("enter your score:"))

if score >= 90 :
    grade = "A"
elif score >= 80 :
    grade = "B"
elif score >= 80 :
    grade = "C"
elif score >= 80 :
    grade = "D"
else :
    grade = "F"

print(grade)
```

    enter your score:100
    A
    


```python
# 判斷季節

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 = "數字超過月份範圍"


print(season)
```

    what month ??5
    summer
    

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

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


```python
what_year = int(input("enter year:"))

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

print(result)
```

    enter year:2000
    閏年
    


```python
money = int(input("請輸入購物金額："))
if (money >= 10000) :
    if (money >= 100000) :
        print(money * 0.8, end=" 元\n")
    elif (money >= 50000) :
        print(money * 0.85, end=" 元\n")
    elif (money >= 30000) :
        print(money * 0.9, end=" 元\n") 
    else :
        print(money * 0.95, end=" 元\n")
else :
    print (money, end=" 元\n")
```

    請輸入購物金額：10000
    9500.0 元
    

### [afterclass practice]
1. 綜合演練 選擇題1-10  (需抄題在markdown cell ; 有程式碼的題目要有code cell )
2. 教學影音 lesson 7

### 綜合演練

1. Python 語言以下列那一個符號及縮排來表示程式區塊？<br>
(A)「:」	(B)「!」	(C)「#」	(D)「\」<br>
ans:(A)

2. 「if 條件式:」的敘述中，下列那一項正確？<br>
(A) 當條件式為 False 時，就會執行程式區塊的敘述。<br>
(B) 當條件式為 True 時，就會執行程式區塊的敘述。<br>
(C) 當條件式改變時，就會執行程式區塊的敘述。 <br>
(D) 當發生錯誤時，就會執行程式區塊的敘述。<br>
ans:(B)

3. 「if…elif…else」條件式中，如果所有條件式都是 False，則執行下列那一程式區塊？<br>
(A) if   (B) elif   (C) else   (D)不會執行程式區塊的敘述<br>
ans:(C)

4. 「if …else…」條件式的敘述中，下列那一項正確？<br>
(A) 條件式只可使用關係運算式。<br>
(B) 條件式只可使用邏輯運算式。<br>
(C) 當條件可以是關係運算式，也可以是邏輯運算式。  <br>
(D) 以上皆不正確。<br>
ans:(C)

5. 變數 a 的值為 3，執行下列程式後顯示的結果為何？<br>
if (a==5):<br>
    print("1",end="")<br>
print("2",end="")<br>
(A)1	  (B) 2	  (C) 12   	(D) 不顯示任何內容<br>
ans:(B)


```python
a = int(input("enter a number:"))
if (a==5):
    print("1",end=" ")
print("2",end=" ")
```

    enter a number:3
    2 

6. 變數 a 的值為 5，執行下列程式後顯示的結果為何？<br>
if (a==5):<br>
    print("1",end="")<br>
else:   <br>
    print("2",end="")<br>
(A) 1	   (B) 2      (C) 12	   (D) 不顯示任何內容<br>
ans:(A)


```python
a = int(input("enter a number:"))
if (a==5):
    print("1",end="")
else:   
    print("2",end="")
```

    enter a number:5
    1

7. 變數 a 的值為 4，執行下列程式後顯示的結果為何？<br>
if (a==5): print("1",end="")<br>
elif (a!=4): print("2",end="") <br>
else: print("3",end="")")<br>
(A) 1	(B) 2  (C) 3  (D) 123<br>
ans:(C)


```python
a = int(input("enter a number:"))
if (a==5): print("1",end="")
elif (a!=4): print("2",end="") 
else: print("3",end="")
```

    enter a number:4
    3

8. 變數 a 的值為 20000，執行下列程式後顯示的結果為何？<br>
if (a >= 10000):<br>
    if (a >= 100000):<br>
        print(a * 0.5, end=" 元\n") <br>
    elif (a >= 50000):<br>
        print(a * 0.8, end=" 元\n") <br>
    else:<br>
        print(a * 0.9, end=" 元\n")<br>
else:<br>
    print(a, end=" 元\n")<br>
(A) 10000.0 元 (B) 16000.0 元  (C) 18000.0 元  (D) 20000.0 元<br>
ans:(C)


```python
a = int(input("enter a number:"))
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")
```

    enter a number:20000
    18000.0 元
    

9. 變數 a = 3、b=7，執行下列程式後顯示的結果為何？<br>
if (a>5 or b>5):<br>
    print(a)<br>
else:   <br>
    print(b)<br>
(A) 3	 (B) 7	(C) 37  (D) 不顯示任何內容<br>
ans:(A)


```python
a = int(input("enter number a:"))
b = int(input("enter number b:"))

if (a>5 or b>5):
    print(a)
else:   
    print(b)
```

    enter number a:3
    enter number b:7
    3
    

10. 變數 a = 3、b=7，執行下列程式後顯示的結果為何？<br>
if (a>5 and b>5):<br>
    print(a)<br>
else:   <br>
    print(b)<br>
(A) 3	  (B) 7 	(C) 37 	(D) 不顯示任何內容<br>
ans:(B)


```python
a = int(input("enter number a:"))
b = int(input("enter number b:"))

if (a>5 and b>5):
    print(a)
else:   
    print(b)
```

    enter number a:3
    enter number b:7
    7
    
