---
# System prepended metadata

title: wk04_0928_判斷式
tags: [python]

---

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

#### 【inclass practice】

##### {綜合演練}


```python
sunny = input("今天有出太陽嗎? Y or N ")

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

```

    今天有出太陽嗎? Y or N Y
    我們去玩吧!
    


```python
sunny = input("今天有出太陽嗎? Y or N ")

if sunny != "Y" :
    print("我們乖乖在家吧")
    
```

    今天有出太陽嗎? Y or N y
    我們乖乖在家吧
    


```python
sunny = input("今天有出太陽嗎? Y or N ")

if sunny.upper() == "Y" :
    print("我們去玩吧!")

```

    今天有出太陽嗎? Y or N y
    我們去玩吧!
    


```python
score = int(input("enter your score"))

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

    enter your score80
    成績等級 = B
    


```python
now_month = int(input("enter the month "))

if now_month >= 3 and now_month <= 5 :
    season = "春"
elif now_month >= 6 and now_month <= 8 :
    season = "夏"
elif now_month >= 9 and now_month <= 11 :
    season = "秋"
elif now_month == 12 or now_month == 1 or now_month ==2 :
    season = "冬"

    
print("現在是", season)    
```

    enter the month 11
    現在是 秋
    


```python
password = "123"

usr_pwd = input("enter password, please")

if usr_pwd == password : 
    print("Welcome")
else :
    print("Error Password, Please Try Again")
```

    enter password, please123
    Welcome
    

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



```python
rain = input("今天會下雨嗎?")
if(rain=="Y" or rain=="y"):
    print("出門記得帶傘!") 

```

    今天會下雨嗎?y
    出門記得帶傘!
    

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

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


```python
what_year = int(input("今年幾年"))

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

print("今年是 ", ans)
```

    今年幾年2023
    今年是  平年
    

#### 【afterclass practice】

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

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


```python
a = 3

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

```

    2

6. 變數 a 的值為 5，執行下列程式後顯示的結果為何？

   if (a==5):

       print("1",end="")

   else:

       print("2",end="")

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


```python
a = 5

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

    1

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
   
   Ans:(C)


```python
a = 4

if (a==5):
    print("1",end="")
elif (a!=4):
    print("2",end="")
else:
    print("3",end="")
```

    3

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 元
   
   Ans:(C)


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

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

   if (a>5 or b>5):

   print(a)

   else:

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


```python
a = 3
b = 7

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

    3
    

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

    if (a>5 and b>5):

    print(a)

    else:

    print(b)

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


```python
a = 3
b = 7

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

    7
    
