## wk_02_0914_變數和運算式 xiuyun dai
1. 變數
2. 運算式
3. print(), input()
## [inclass practice]
### {綜合演練5}
MBI值稱為身體質量指標,是一個簡易判斷身體胖瘦程度的方法。
計算BMI值的攻勢式體重(單位為公斤)除以身高(單位為公尺)的平方 :
BMI = 體重(KG) / 身高(m)**2
請幫忙設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值。
```python
x=157
y=40
bmi=y/(x/100)**2
print(bmi)
```
16.227838857560144
```python
weight = input("請輸入您的體重 kg")
height = input("請輸入您的身高 cm")
print(weight, height)
weight = int(weight)
height = int(height)
type(height)
my_bmi = weight/(height/100)**2
print(my_bmi)
```
請輸入您的體重 kg40
請輸入您的身高 cm157
40 157
16.227838857560144
```python
a= "xiuyun"
x=157
y=40
bmi=y/(x/100)**2
#print(x, y, bmi, sep= "---",end="---the end---")
print("%s您的身高%d 您的體重%d BMI= %.2f" %(a, x, y, bmi))
```
xiuyun您的身高157 您的體重40 BMI= 16.23
## {範例}
1. 格式化列印成績單 <format>
2. 計算成績總分 <input>
3. 計算梯形面積 <arith>
4. 計算複利本金 <complex>
```python
# 格式化列印成績單
print("姓名 座號 國文 數學 英文")
print("%3s %2d %3d %3d %3d" % ("林大明", 1, 100, 87, 79))
print("%3s %2d %3d %3d %3d" % ("陳阿中", 2, 74, 88, 100))
print("%3s %2d %3d %3d %3d" % ("張小英", 11, 82, 65, 8))
```
姓名 座號 國文 數學 英文
林大明 1 100 87 79
陳阿中 2 74 88 100
張小英 11 82 65 8
```python
# 計算成績總分
chinese = float(input("請輸入國文成績"))
english = float(input("請輸入英文成績"))
math = float(input("請輸入數學成績"))
total = chinese+english+math
print("國文 %d,英文%d, 數學%d, 總分%.1f" %(chinese, english, math, total))
```
請輸入國文成績50
請輸入英文成績50
請輸入數學成績50
國文 50,英文50, 數學50, 總分150.0
```python
# 計算梯形面積
top = float(input("請輸入梯形上底長度:"))
bottom = float(input("請輸入梯形下底長度:"))
height = float(input("請輸入梯形高度:"))
area = (top + bottom) * height / 2
print("梯形的面積為:" + str(area))
```
請輸入梯形上底長度:50
請輸入梯形下底長度:20
請輸入梯形高度:30
梯形的面積為:1050.0
```python
# 計算複利本金
deposit = int(input("請輸入本金存款金額:"))
times = 1.02 ** 6
deposit *= times
print("6 年後存款為:" + str(deposit))
```
請輸入本金存款金額:5000
6 年後存款為:5630.81209632
## [afterclass practice]
1. 綜合演練 選擇題1-10(需抄題在markdown cell ; 有程式碼的題目要有code cell )
2. 教學影音 lesson 4、5、6
( C ) 1. 下列何者是Python的註解符號?(A) $ (B) // (C) # (D) %
( A ) 2. 下列何者是錯誤的變數名稱?(A) if (B) mary (C) str56 (D) error_i
( D ) 3. num = 8 + True,num 的值為何?(A) 0 (B) 1 (C) 8 (D) 9
```python
num = 8 + True
print("num= %d"%num)
```
num= 9
( B ) 4. print(type(56.0))顯示的結果為何?(A) str (B) float (C) int (D) double
```python
print(type(56.0))
```
<class 'float'>
( A ) 5. 下列何者錯誤?(A) print(23 + "67") (B) print(23 + int("67"))(C) print(str(23) + "67") (D) print(str(23) + str("67"))
(A) print(23 + "67") - 錯誤。整數和字符串不能直接相加。
(B) print(23 + int("67")) - 正確。在這裡,你將字符串 "67" 轉換為整數,然後進行加法運算。
(C) print(str(23) + "67") - 正確。在這裡,你將整數 23 轉換為字符串,然後進行字符串連接。
(D) print(str(23) + str("67")) - 正確。在這裡,你將整數 23 和字符串 "67" 都轉換為字符串,然後進行字符串連接。
( B ) 6. num = 96%5,num 的值為何?(A) 0 (B) 1 (C) 19 (D) 20
```python
num = 96%5
print("num = %d" %num)
```
num = 1
( D ) 7. num = 5,則num **=3 的值為何?(A) 3 (B) 15 (C) 25 (D) 125
```python
num = 5
x= num **3
print("num **3的值為%d" %x)
```
num **3的值為125
( B ) 8. print("78" + "12") 的結果為何?(A) 90 (B) 7812 (C) 66 (D)產生錯誤
```python
print("78" + "12")
```
7812
( A ) 9. print(78 + 12) 的結果為何?(A) 90 (B) 7812 (C) 66 (D)產生錯誤
```python
print(78 + 12)
```
90
( A ) 10.下列何者運算子的優先順序最高?(A) -(負) (B) *(C) and (D) +=