---
# System prepended metadata

title: wk04_0928_判斷式
tags: [大三上Python程式語言]

---

# wk04_0928_判斷式
條件 : 關係運算式 或 邏輯運算式
1. 單向
2. 雙向
3. 多向
4. 巢狀

## [Inclass practice]


```python
#1. 單向
sunny = input("出太陽嗎?(y/n)")
if sunny.lower() != "y" :
    print("我們乖乖在家吧")
```

    出太陽嗎?(y/n)n
    我們乖乖在家吧
    


```python
#2. 雙向
pw=int(input("請輸入密碼:"))
if pw==123 :
    print("welcome")
else :
    print("error password, try again!")
```

    請輸入密碼:521
    error password, try again!
    


```python
#3. 多向
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)
```

    請輸入分數:60
    成績等級 =  D
    


```python
#4. 巢狀
month = int(input("請輸入月份:"))
if month >=3 and month<=5 :
    print ("現在季節:春天")
elif month >=6 and month <=8 :
    print ("現在季節:夏天")
elif month >=9 and month <=11 :
    print ("現在季節:秋天")
else :
    print("現在季節:冬天")
```

    請輸入月份:8
    現在季節:夏天
    

### {綜合演練}

實作1

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


```python
a=input("今天會下雨嗎?(y/n)")
if a=="y" : #y要""
    print("出門記得帶傘!")
else :
    print(" ")
```

    今天會下雨嗎?(y/n)n
     
    

實作5

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

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


```python
year=int(input("請輸入一個西元年:"))
if year%100 == 0 and year%400 == 0 :
    print("西元%d年是閏年" %year)
elif year%100 !=0 and year%4 == 0 :
    print("西元%d年是閏年" %year)
else :
    print("西元%d年不是閏年" %year)
```

    請輸入一個西元年:1987
    西元1987年不是閏年
    

## [Afterclass practice]

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

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

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，執行下列程式後顯示的結果為何？(A)1 (B) 2 (C) 12 (D) 不顯示任何內容


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

    2

A 6. 變數 a 的值為 5，執行下列程式後顯示的結果為何？(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，執行下列程式後顯示的結果為何？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，執行下列程式後顯示的結果為何？(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，執行下列程式後顯示的結果為何？(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，執行下列程式後顯示的結果為何？(A) 3 (B) 7 (C) 37 (D) 不顯示任何內容


```python
a=3
b=7
if (a>5 and b>5):
    print(a)
else:
    print(b)
```

    7
    

## [Self practice]

# 四種判斷式

A. 單向


```python
age = int(input("請輸入年齡:"))
if age >= 18 :
    print("yes")
```

    請輸入年齡:20
    yes
    

B. 雙向


```python
day = input("今天星期幾(星期一 ~ 星期日)?")
if day == "星期六" or day == "星期日" :
    print("今天是周末!")
else : 
    print("今天是工作日...")
```

    今天星期幾(星期一 ~ 星期日)?星期一
    今天是工作日...
    

C. 多項


```python
user_role = input("您的使用者角色為?")
if user_role == "admin" :
    print("您有完整權限")
elif user_role == "editor" :
    print("您有編輯權限")
elif user_role == "guest" :
    print("您有只讀權限")
else :
    print ("無權限")
```

    您的使用者角色為?teacher
    無權限
    

D. 巢狀


```python
weather = input("今天是什麼天氣(晴天、雨天)?")
temp = int(input("今天氣溫幾度(number)?"))
if weather == "晴天":
    if temp >= 25 :
        print("今天建議穿短袖!")
    else :
        print("今天建議穿長袖!")
else :
    print("今天建議帶雨傘!")
```

    今天是什麼天氣(晴天、雨天)?雨天
    今天氣溫幾度(number)?20
    今天建議帶雨傘!