---
# System prepended metadata

title: wk02_0914_variable&expression
tags: [week]

---

# wk02_0914_變數和運算式
1. 變數
2. 運算式
3. print(),input()

---


### {綜合演練5}
<pre>
MBI值稱為身體質量指標，是一個簡易判斷身體胖瘦程度的方法。
計算BMI值的攻勢式體重(單位為公斤)除以身高(單位為公尺)的平方 :

                 BMI = 體重(KG) /  身高(m)**2
請幫忙設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值。
</pre>



```python
x = 157
y = 48
bmi = y/(x/100)**2
print('bmi=',bmi)
```


```python
weight = input("請輸入您的體重(kg):")
height = input("請輸入您的身高(cm):")
weight = int(weight)
height = int(height)
bmi = weight/(height/100.0)**2
print("您的體重為",weight,"身高為",height)
print('bmi=',bmi)
print(weight,height,bmi,sep="--",end="-end-")

#sep:分隔符號,默認為空白
#end:原print裡有默認end=\n,在此將end改成-end-則無換行

print()
print("您的體重為%d 身高為%d bmi=%f"%(weight,height,bmi))
#類似java裡的printf 整數用%d 浮點數用%f

print(end="--end--")
```

#### {範例}
1. 格式化列印成績單  < format >
2. 計算成績總分  < input >
3. 計算梯形面積 < arith >
4. 計算複利本金 < complex >


```python
#計算成績總分
chinese = float(input("請輸入國文成績:"))
english = float(input("請輸入英文成績:"))
math = float(input("請輸入數學成績:"))
total = chinese+english+math

print("國文:%.2f分 英文:%.2f分 數學:%.2f分\n總分:%.1f分" % (chinese,english,math,total))
```

    請輸入國文成績:50
    請輸入英文成績:80.4
    請輸入數學成績:50
    國文:50.00分 英文:80.40分 數學:50.00分
    總分:180.4分
    


```python
#計算梯形面積
upoon = float(input("請輸入梯形的上底(cm):"))
botton = float(input("請輸入梯形的下底(cm):"))
hight = float(input("請輸入梯形的高(cm):"))
area = (upoon+botton)*hight/2
print("面積=",area)
```

    請輸入梯形的上底(cm):10.
    請輸入梯形的下底(cm):5
    請輸入梯形的高(cm):5
    面積= 37.5
    

## 【afterclass practice】
- 綜合演練 選擇題1-10  (需抄題在markdown cell ; 有程式碼的題目要有code cell )
- 教學影音 lesson 4[、5、6]

1. 下列何者是Python的註解符號?(C)
<pre>
    (A) $ (B) // (C) # (D) %
</pre>
2. 下列何者是錯誤的變數名稱？(A)
<pre>
(A) if (B) mary (C) str56 (D) error_i
</pre>
3. num = 8 + True，num 的值為何？(D)
<pre>
(A) 0 (B) 1 (C) 8 (D) 9
sol: true=1,false=0
</pre>
4. print(type(56.0))顯示的結果為何？( B )
<pre>
(A) str (B) float (C) int (D) double
<class 'float'>
</pre>

5. 下列何者錯誤？( A ) 
<pre>
(A) print(23 + "67") (B) print(23 + int("67")) (C) print(str(23) + "67") (D) print(str(23) + str("67"))
</pre>


```python
#5.code
#print(23+"67") -> 數字23+文字67
print(23+int("67"))       #數字23+正整數67
print(str(23)+"67")       #文字23後加文字67
print(str(23)+str("67"))  #文字23後加文字67
print("67")
```

    90
    2367
    2367
    67
    

6. num = 96%5，num 的值為何？(B)
<pre>
(A) 0 (B) 1 (C) 19 (D) 20 
sol:%為取餘數
</pre>

7. num=5，則num**=3 的質為何?(D)
<pre>
(A) 3 (B) 15 (C) 25 (D) 125
sol:**=3為做三次方
</pre>

8. print("78" + "12") 的結果為何？(B)
<pre>
(A) 90 (B) 7812 (C) 66 (D)產生錯誤
sol:print("78")為印出文字78，故答案為7812
</pre>

9. print(78+12)的結果為何?(A)
<pre>
(A) 90 (B) 7812 (C) 66 (D)產生錯誤
sol:78+12=90,print(78+12)為印出其結果
</pre>

10. 下列何者運算子的優先順序最高?(A)
<pre>
(A) -(負) (B) *(C) and (D) +=
</pre>

## 【self practice】
```python
print("停車每小時30元，當日最高上限150元")
time = int(input("請輸入停車時數:"))
if(time>5):
    total=150
else:
    total=time*30
print("您的停車費為%d元"%(total))    

```

    停車每小時30元，當日最高上限150元
    請輸入停車時數:10
    您的停車費為150元

```python
salary = int(input("請輸入薪資金額: "))
prize = int(input("請輸入工作獎金: "))
extra = int(input("請輸入加班費: "))
total = salary + prize + extra
print("本月實領金額為：" + str(total))
```

    請輸入薪資金額: 500
    請輸入工作獎金: 100
    請輸入加班費: 60
    本月實領金額為：660

```python
print("年度  所得稅  營業稅  證交稅")
print("%4s %6.2f  %6.2f  %6.2f" % ("2017", 98.34, 90.2, 104.79))
print("%4s %6.2f  %6.2f  %6.2f" % ("2016", 83, 110.5, 82.45))
print("%4s %6.2f  %6.2f  %6.2f" % ("2015", 98, 79.32, 102))
```

    年度  所得稅  營業稅  證交稅
    2017  98.34   90.20  104.79
    2016  83.00  110.50   82.45
    2015  98.00   79.32  102.00