---
# System prepended metadata

title: wk02_0914_變數與運算式
tags: [python]

---

# wk02_0914_變數與運算式 謝彤

## 筆記區 
 ** 表示平方、如果跑code有問題 可以試試看kernel-->restart


變數是由英文、數字、底線構成，變數開頭不可打數字。

sep="???" 表示 print出來的字串中，每個輸出變數或字串中間有???隔開


end="???" 表示print出來的整串字最後面會出現???


int()表示出來只會有整數 (integral)


```python
A=1.23456
print("只想求到小數點第一位的A=%.1f" %(A))
```

    只想求到小數點第一位的A=1.2
    

在藍色模式按m，即可切換到markdown；y可切換到code

## [inclass practice]

   ### 上課內容 1.變數 2.資料型態 3.輸出與輸入 4.運算式

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

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


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

print(BMI)
```

    23.046874999999996
    

· 完整化


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

print("您的身高",height,"您的體重",weight,"您的BMI",BMI,sep="---",end="end")


print("\n您的身高%d cm,您的體重%d kg,您的BMI %f"  %(height,weight,BMI)) 
#f表示浮點數，可出現小數點

```

    您的身高---160---您的體重---59---您的BMI---23.046874999999996end
    您的身高160 cm,您的體重59 kg,您的BMI 23.046875
    

·使用戶可輸入版本


```python
my_height = input("請輸入您的身高(cm)")
print(type(my_height))
my_height = float(my_height)
my_height = int(my_height)
print(type(my_height))

my_weight = input("請輸入您的體重(kg)")
print(type(my_weight))
my_weight = float(my_weight)
my_weight = int(my_weight)
print(type(my_weight))

BMI=my_weight/(my_height *0.01) ** 2

print("您的BMI為",BMI)
```

    請輸入您的身高(cm)163.7
    <class 'str'>
    <class 'int'>
    請輸入您的體重(kg)47.5
    <class 'str'>
    <class 'int'>
    您的BMI為 17.68978885166924
    

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


```python
# 1.格式化的成績單 <format>
a = 100
b = 23.08
c = "amanda"
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>

Chiness = int(input("國文成績?"))
English = int(input("英文成績?"))

print ("總分是",Chiness+English)
```

    國文成績?100
    英文成績?80
    總分是 180
    


```python
# 3.計算梯形面積 <arith>
#需要上底、下底、高

top = 1
bottom = 2
height = 5

area = (top+bottom)*height /2

print("此梯形面積為",area,)
```

    此梯形面積為 7.5
    

## [afterclass practice]

### 綜合演練

#### 1.下列何者是Python的註解符號? 

(A)$ (B)// (C)# (D)%

Answer: C

#### 2.下列何者是錯誤的變數名稱? 

(A)if (B)mary (C)str56 (D)error_i

Answer: A

#### 3.num = 8 + True ，num的值為何?

(A)0 (B)1 (C)8 (D)9


```python
num = 8 + True
print(num)
```

    9
    

Answer: D

#### 4.print(type(56.0))顯示的結果為何?

(A)str (B)float (C)int (D)double


```python
print(type(56.0))
```

    <class 'float'>
    

Answer: B

#### 5.下列何者錯誤?

(A)print(23+"67") (B)print(23+int("67")) (C)print(str(23)+"67") (D)print(str(23)+str("67"))


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


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

    TypeError                                 Traceback (most recent call last)

    Cell In[4], line 2
          1 #(A)
    ----> 2 print(23+"67")
    

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



```python
#(B)
print(23+int("67"))
```

    90
    


```python
#(C)
print(str(23)+"67")
```

    2367
    


```python
#(D)
print(str(23)+str("67"))
```

    2367
    

Answer: A

#### 6.num = 96%5，num的值為何?

(A)0 (B)1 (C)19 (D)20


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

    1
    

Answer: B

#### 7.num = 5，則num **3的值為何?

(A)3 (B)15 (C)25 (D)125


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

    125
    

Answer: D

#### 8.print("78"+"12")的結果為何?

(A)90 (B)7812 (C)66 (D)產生錯誤


```python
print("78"+"12")
```

    7812
    

Answer: B

#### 9.print(78+12)的結果為何?

(A)90 (B)7812 (C)66 (D)產生錯誤


```python
print(78+12)
```

    90
    

Answer: A

#### 10.下列何者運算子的優先順序最高?

(A)-(負) (B)* (C)and (D)+=

Answer: A

#### Lesson4 影片心得
我了解了原來type()的功能是可以查看資料型態

int()可把變數型態轉換成僅整數；float()把變數型態轉換成有小數；str()的感覺類似""。

del表示把變數刪掉

## [self practice]

字串(有小數點的) 只能存float 不能存int

如果要存到int 要先存float 再存int

如此一來，用戶在輸入BMI時可以任意輸入自己的身高體重(有小數點也沒關係)