---
# System prepended metadata

title: wk04_0928_判斷式
tags: [python]

---

### wk04_0928_判斷式 
條件:關係or邏輯運算式
1. 單向判斷式 (if...)
2. 雙向判斷式 (if...else)
3. 多向判斷式 (if...elif...else)
4. 巢狀判斷式

### [inclass practice]


```python
sunny = input("出太陽嗎?Y or N ")
if sunny != "Y":
    print("我們乖乖在家吧")
```

    出太陽嗎?Y or NN
    我們乖乖在家吧



```python
sunny = input("出太陽嗎?Y or N ")
if sunny.upper() != "Y": #不論大小寫y，都視為大寫
    print("我們乖乖在家吧")
```

    出太陽嗎?Y or N y



```python
password = "abcd"
user_pwd = input("enter password:")

if user_pwd == password:
    print("welcome")

else:
    print("error password,try again")
```

    enter password123
    error password,try again



```python
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)
```

    輸入成績:75
    成績等級 =  C



```python
now_month = int(input("現在是幾月:"))
if now_month == 3 or now_month == 4 or now_month == 5:
    season = "spring"
elif now_month == 6 or now_month == 7 or now_month == 8:
    season = "summer"
elif now_month == 9 or now_month == 10 or now_month == 11:
    season = "autumn"
else:
    season = "winter"


print("season:",season)
```

    現在是幾月:10
    season: autumn


### {綜合演練}
實作5

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

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


```python
year = int(input("西元年:"))
if year % 100== 0:
    if year % 400==0:
        ans= "閏年"
    else:
        ans = "平年"
else:
    if yeear % 4==0:
        ans= "閏年"
    else:
        ans = "平年"



print(ans)
```

    西元年:1900
    平年


### [afterclass practice]

綜合演練 選擇題1-10  (需抄題在markdown cell ; 有程式碼的題目要有code cell )

( 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)不會執行程式區塊的敘述 #若前面都不執行，則執行最後的else

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


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


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


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



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


(	A	)	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


(	B	)	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



```python

```
