---
# System prepended metadata

title: wk02_0914_變數與運算式(1)
tags: [大三上Python程式語言]

---

# wk02_0914_變數與運算式(1)

1. 變數
2. 運算式
3. input()、print()

# [Inclass practice]

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

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


```python
Weight = int(input("請輸入體重(KG)"))
Height = int(input("請輸入身高(cm)"))
Height2 = Height/100
Height3 = Height2**2
BMI = Weight/Height3
print("你的BMI是%5.2f" %(BMI))
```

    請輸入體重(KG)70
    請輸入身高(cm)170
    你的BMI是24.22
    


```python
height = 160
weight = 59
bmi = 59/1.6**2

print("您的身高",height,"您的體重",weight,"您的BMI是",bmi)
```

    您的身高 160 您的體重 59 您的BMI是 23.046874999999996
    


```python
height = 160
weight = 59
bmi = 59/1.6**2
# print("您的身高",height,"您的體重",weight,"您的BMI是",bmi, sep="---", end="===*")

print("您的身高%dcm，您的體重%dkg，您的BMI是%5.2f" %(height, weight, bmi))
```

    您的身高160cm，您的體重59kg，您的BMI是23.05
    


```python
my_height = input("請輸入你的身高(cm)")
print(type(my_height)) #str
my_height=int(my_height)
print(type(my_height)) #int
```

    請輸入你的身高(cm)100
    <class 'str'>
    <class 'int'>
    

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


```python
a = 100
b = 23.08
c = "DD"
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("總分是%d分" %(chinese+english))
```

    國文成績?100
    英文成績?60
    總分是160分
    


```python
# 3. 計算梯形面積 <arith>
top = 1
bottom = 2
height = 5
area = (top+bottom)*height/2
print("梯形面積為%d"%area)
```

    梯形面積為7
    

# [afterclass practice]

(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)
```

    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"))


```python
 print(23 + "67")
```


    ---------------------------------------------------------------------------

    TypeError                                 Traceback (most recent call last)

    Cell In[12], line 1
    ----> 1 print(23 + "67")
    

    TypeError: unsupported operand type(s) for +: 'int' and 'str'


(B) 6. num = 96%5，num的值為何？ (A) O (B) 1 (C) 19 (D) 20


```python
num = 96%5
print(num)
```

    1
    

(D) 7. num=5，則num**=3的值為何？ (A) 3 (B) 15 (C)25 (D) 125


```python
num = 5
num **= 3
print(num)
```

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

# [self practice]

梯形面積=(上底+下底)*高/2，設計程式輸入梯形的上底、下底及高後計算梯形面積。


```python
top = float(input("請輸入梯形上底長度(cm)"))
bottom = float(input("請輸入梯形下底長度(cm)"))
height = float(input("請輸入梯形高度(cm)"))
area=(top+bottom)*height/2
print("梯形面積為%5.2f (cm^2)"%(area))
```

    請輸入梯形上底長度(cm)50
    請輸入梯形下底長度(cm)100
    請輸入梯形高度(cm)30
    梯形面積為2250.00 (cm^2)
    

{綜合演練實作題ch02 Q1} 一年一班只有2位同學，設計程式讓老師分別輸入2位同學的姓名及成績，然後計算成績總分，最後以下圖格式列印。


```python
name1=str(input("請輸入第一位學生的姓名: "))
print("  ")
score1=int(input("請輸入第一位學生的成績: "))
print("  ")
name2=str(input("請輸入第二位學生的姓名: "))
print("  ")
score2=int(input("請輸入第二位學生的成績: "))
print("  ")
print("姓名   成績")
print("%s %d"%(name1,score1))
print("%s %d"%(name2,score2))
print("成績總分為:",(score1+score2))
```

    請輸入第一位學生的姓名: 張家誠
      
    請輸入第一位學生的成績: 78
      
    請輸入第二位學生的姓名: 邵競賢
      
    請輸入第二位學生的成績: 100
      
    姓名   成績
    張家誠 78
    邵競賢 100
    成績總分為: 178
    

{綜合演練實作題ch02 Q2} 計程車計費方式第1公里為70元，多1公里加收30元。設計程式讓運將輸入乘客的公里數。然後計算乘車費用。


```python
km = int(input("請輸入路程公里數(整數):"))
price = 70 + (km-1)*30
print("你的車程車資費為:%d"%(price))