# 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