# 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時可以任意輸入自己的身高體重(有小數點也沒關係)