## wk02_0914_變數與運算式
1. 變數
2. 運算式
3. input()、print()
### [inclass practice]
<pre>
{綜合演練5}
MBI值稱為身體質量指標,是一個簡易判斷身體胖瘦程度的方法。
計算BMI值的攻勢式體重(單位為公斤)除以身高(單位為公尺)的平方 :
BMI = 體重(KG) / 身高(m)**2
請幫忙設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值。</pre>
```python
height = 185
weight = 60
bmi = 60 / 1.85 ** 2
print("您的身高", height, "您的體重", weight, "您的BMI", bmi)
```
您的身高 185 您的體重 60 您的BMI 17.531044558071585
```python
my_height = input("請輸入您的身高(cm)")
print(type(my_height))
my_height = int(my_height)
print(type(my_height))
```
請輸入您的身高(cm)185
<class 'str'>
<class 'int'>
```python
height = 185
weight = 60
bmi = 59 / 1.85 ** 2
# print("您的身高", height, "您的體重", weight, "您的BMI", bmi, sep="---", end="===")
print("\n您的身高 %d cm ,您的體重 %d kg ,您的BMI %.2f" %(height, weight, bmi))
```
您的身高 185 cm ,您的體重 60 kg ,您的BMI 17.24
### {範例}
1. 格式化列印成績單 <format>
2. 計算成績總分 <input>
3. 計算梯形面積 <arith>
4. 計算複利本金 <complex>
```python
# 1. 格式化列印成績單 <format>
a = 100
b = 17.24
c = "陳俊碩"
d = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
```
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
```python
# 2. 計算成績總分 <input>
Chinese = int(input("國文成績:"))
English = int(input("英文成績:"))
print("總分為", Chinese + English)
```
國文成績:100
英文成績:85
總分為 185
```python
# 3. 計算梯形面積 <arith>
top = 1
bottom = 2
h = 5
area = (top + bottom) * h
print("梯形面積為", area)
```
梯形面積為 15
### [afterclass practice]
1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell )
2. 教學影音 lesson 4[、5、6]
##### 1. 下列何者是Python的註解符號?
(A) $ (B) // (C) # (D) %
* 答案:(C)
##### 2. 下列何者是錯誤的變數名稱?
(A) if (B) mary (C) str56 (D) error_i
* 答案:(A)
##### 3. num = 8 + True,num 的值為何?
(A) 0 (B) 1 (C) 8 (D) 9
* 答案:(D)
```python
num = 8 + True
print(num)
```
9
##### 4. print(type(56.0))顯示的結果為何?
(A) str (B) float (C) int (D) double
* 答案:(B)
```python
print(type(56.0))
```
<class 'float'>
##### 5. 下列何者錯誤?
(A) print(23 + "67") (B) print(23 + int("67"))
(C) print(str(23) + "67") (D) print(str(23) + str("67"))
* 答案:(A)
```python
print(23 + "67")
```
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[9], line 1
----> 1 print(23 + "67")
TypeError: unsupported operand type(s) for +: 'int' and 'str'
```python
print(23 + int("67"))
```
90
```python
print(str(23) + "67")
```
2367
```python
print(str(23) + str("67"))
```
2367
##### 6. num = 96%5,num 的值為何?
(A) 0 (B) 1 (C) 19 (D) 20
* 答案:(B)
```python
num = 96%5
print(num)
```
1
##### 7. num = 5,則num **=3 的值為何?
(A) 3 (B) 15 (C) 25 (D) 125
* 答案:(D)
```python
num = 5
ans = num ** 3
print(ans)
```
125
8. print("78" + "12") 的結果為何?
(A) 90 (B) 7812 (C) 66 (D)產生錯誤
* 答案:(B)
```python
print("78" + "12")
```
7812
##### 9. print(78 + 12) 的結果為何?
(A) 90 (B) 7812 (C) 66 (D)產生錯誤
* 答案:(A)
```python
print(78 + 12)
```
90
##### 10. 下列何者運算子的優先順序最高?
(A) -(負) (B) *(C) and (D) +=
* 答案:(A)
### [self practice]
```python
name1 = input("請輸入第一位學生的姓名:")
score1 = int(input("請輸入第一位學生的成績: "))
name2 = input("請輸入第二位學生的姓名:")
score2 = int(input("請輸入第二位學生的成績: "))
print()
print("姓名 成績")
print("%-4s %3d" % (name1, score1))
print("%-4s %3d" % (name2, score2))
print("成績總分為:" + str(score1 + score2))
```
請輸入第一位學生的姓名:Martin
請輸入第一位學生的成績: 95
請輸入第二位學生的姓名:Alan
請輸入第二位學生的成績: 90
姓名 成績
Martin 95
Alan 90
成績總分為:185