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