## 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
問候語 = 早安