---
# System prepended metadata

title: wk04_0928
tags: [Python]

---

## wk04_0928

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



```python
# 單向判斷式 (if...)

sunny = input("出太陽嗎? y or n ")

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

```

    出太陽嗎? y or n y
    我們出去玩吧
    


```python
# 單向判斷式 (if...)

sunny = input("出太陽嗎? y or n ")

if sunny.upper() !="y":
    print("我們在家吧")

```

    出太陽嗎? y or n n
    我們在家吧
    


```python
# 雙向判斷式 (if...else)

password = 123

if password == 123:
    print("welcome")
else:
    print("error password, try again")
```

    welcome
    


```python
# 雙向判斷式 (if...else)

password = "abcd"

usr_pwd = input("enter password, please")

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

    enter password, pleaseabcd
    welcome
    


```python
# 多向判斷式 (if...elif...else)

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

    99
    成績等級 =  A
    


```python
# 多向判斷式 (if...elif...else)
# 我的解法

month = int(input())

if month <= 2 :
    season = "winter"
elif month >= 12 :
    season = "winter"
elif month <= 5:
    season = "spring"
elif month <= 8:
    season = "summer"
else :
    season = "fall"    
    

print("season = ", season)
```

    11
    season =  fall
    


```python
# 多向判斷式 (if...elif...else)
# 老師的解法

month = int(input())

if month >= 3 and month <= 5:
    season = "spring"
elif month >= 6 and month <= 8 :
    season = "summer"
elif month >= 9 and month <= 11 :
    season = "fall"
elif month == 12 or month == 1 or month ==2:
    season = "winter"
    
print("season = ", season)
```

    12
    season =  winter
    

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

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

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




```python
year = int(input())

if year % 100 ==0 and year % 400 ==0:
    print("閏年")
elif year % 100 > 0 and year % 4 ==0:
    print("閏年")
else :
    print("平年")
```

    2007
    平年
    

## 【afterclass practice】

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

#### 1. Python 語言以下列哪一個符號及縮排來表示程式區塊?

( A ) 「:」 
( B ) 「!」 
( C ) 「#」 
( D ) 「\」

答: ( A ) 「:」

#### 2. 「if條件式:」的敘述中，下列哪一項正確?

( A ) 當條件式為False時，就會執行程式區塊的敘述。
( B ) 當條件式為True時，就會執行程式區塊的敘述。
( C ) 當條件式改變時，就會執行程式區塊的敘述。
( D ) 當發生錯誤時，就會執行程式區塊的敘述。

答: ( B ) 當條件式為True時，就會執行程式區塊的敘述。

#### 3. 「if...elif...else」條件式中，如果所以條件式都是False，則執行下列哪一程式區塊?

( A ) if 
( B ) elif 
( C ) else 
( D ) 不會執行程式區塊的敘述

答: ( C ) else

#### 4. 「if...else...」條件式的敘述中，下列哪一項正確?

( A ) 條件式只可使用關係運算式。
( B ) 條件式只可使用邏輯運算式。
( C ) 當條件可以是關係運算式，也可以是邏輯運算式。
( D ) 以上皆不正確。

答: ( 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

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

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

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

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

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

#### 教學影音 lesson 7 
心得筆記


```python
score = int(input("請輸入你的成績: "))
if  score >= 60:
    print("恭喜你及格了!")
else:
    print("你被當了!")
```

    請輸入你的成績: 58
    你被當了!
    

## 【self practice】


```python
# 雙向判斷式 (if...else)

age = int(input())

if age >= 18:
    print("成年")
else:
    print("未成年")
```

    17
    未成年
    


```python
# 多向判斷式 (if...elif...else)

hour = int(input("時間: "))

if hour >= 6 and hour < 12:
    say = "早安"
elif hour >= 12 and hour <18:
    say = "下午好"
else :
    say = "晚安"    
    

print("問候語 = ", say)
```

    時間: 7
    問候語 =  早安
    
