---
# System prepended metadata

title: wk_02_0914_變數和運算式 xiuyun dai
tags: [winniepy]

---

## 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) +=