# week04_0928 判斷式
條件 : 關係(比較)運算式 or 邏輯運算式
1. 單向
2. 雙向
3. 多向
4. 巢狀
### [in class]
### {實作1}
小明出門經常忘記帶雨傘,碰到下雨就淋成落湯雞。
他的好友英倫決定幫忙他設計一個檢查是否要帶傘的程式
;如果今天會下雨,就提醒小明"出門記得帶傘!!",讓小明從此過著幸福快樂的日子。
```python
sunny = "Y"
if sunny =="Y" :
print("我們出去玩吧")
```
我們出去玩吧
```python
sunny = "N"
if sunny =="Y" :
print("我們出去玩吧")
else :
print("乖乖待在家")
```
乖乖待在家
### {範例}
1. 密碼輸入判斷 \<password1>
2. 進階密碼判斷 \<password2>
3. 判斷成績等第 \<grade>
4. 百貨公司折扣戰 \<discount>
```python
password = 22222
usr_pwd = int(input("your password="))
if usr_pwd == password :
ans = "welcome"
else :
ans = "error,please try again!!"
print(ans )
```
your password=22222
welcome
```python
usr_pwd == int(password)
```
True
```python
# 判斷成績等第 <grade>
score = 10
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)
```
F
```python
# 判斷季節
now_month = int(input("what month ??"))
if now_month >= 2 and now_month <= 4 :
season = "spring"
elif now_month >= 5 and now_month <= 7 :
season = "summer"
elif now_month >= 8 and now_month <= 10 :
season = "fall"
elif now_month == 11 or now_month == 12 or now_month == 1 :
season = "winter"
else :
season = "數字超過1-12 範圍外"
print(season)
```
what month ??5
summer
### {實作5}
請設計程式判斷使用者輸入的西元年是否為閏年(平年),閏年的規則是 :
西元年若是可以被100整除,又能被400整除則是閏年。
西元年若不可以被100整除,但卻能被4整除則是平年。
```python
what_year = 1996
if what_year %100 ==0 :
if what_year % 400 ==0 :
result = "閏年"
else :
result = "平年"
else :
if what_year %4 ==0 :
result = "閏年"
else :
result = "平年"
print(result)
```
閏年
### 範例實作:百貨公司折扣
```python
money = int(input("購物金額 = "))
if(money >= 10000):
if(money >= 100000):
print(money * 0.8, end=" 元\n")
elif(money >= 50000):
print(money * 0.85, end=" 元\n")
elif(money >= 30000):
print(money * 0.9, end=" 元\n")
else:
print(money * 0.95, end=" 元\n")
else:
print(money, end=" 元\n")
```
### [after class]
1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell )
2. 教學影音 lesson 7
( 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)不會執行程式區塊的敘述
( 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
if (a>5 and b>5):
print(a)
else:
print(b)
```
7
```python
```