# wk02_0914_變數和運算式 1. 變數 2. 運算式 3. print(),input() --- ### {綜合演練5} <pre> MBI值稱為身體質量指標,是一個簡易判斷身體胖瘦程度的方法。 計算BMI值的攻勢式體重(單位為公斤)除以身高(單位為公尺)的平方 : BMI = 體重(KG) / 身高(m)**2 請幫忙設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值。 </pre> ```python x = 157 y = 48 bmi = y/(x/100)**2 print('bmi=',bmi) ``` ```python weight = input("請輸入您的體重(kg):") height = input("請輸入您的身高(cm):") weight = int(weight) height = int(height) bmi = weight/(height/100.0)**2 print("您的體重為",weight,"身高為",height) print('bmi=',bmi) print(weight,height,bmi,sep="--",end="-end-") #sep:分隔符號,默認為空白 #end:原print裡有默認end=\n,在此將end改成-end-則無換行 print() print("您的體重為%d 身高為%d bmi=%f"%(weight,height,bmi)) #類似java裡的printf 整數用%d 浮點數用%f print(end="--end--") ``` #### {範例} 1. 格式化列印成績單 < format > 2. 計算成績總分 < input > 3. 計算梯形面積 < arith > 4. 計算複利本金 < complex > ```python #計算成績總分 chinese = float(input("請輸入國文成績:")) english = float(input("請輸入英文成績:")) math = float(input("請輸入數學成績:")) total = chinese+english+math print("國文:%.2f分 英文:%.2f分 數學:%.2f分\n總分:%.1f分" % (chinese,english,math,total)) ``` 請輸入國文成績:50 請輸入英文成績:80.4 請輸入數學成績:50 國文:50.00分 英文:80.40分 數學:50.00分 總分:180.4分 ```python #計算梯形面積 upoon = float(input("請輸入梯形的上底(cm):")) botton = float(input("請輸入梯形的下底(cm):")) hight = float(input("請輸入梯形的高(cm):")) area = (upoon+botton)*hight/2 print("面積=",area) ``` 請輸入梯形的上底(cm):10. 請輸入梯形的下底(cm):5 請輸入梯形的高(cm):5 面積= 37.5 ## 【afterclass practice】 - 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) - 教學影音 lesson 4[、5、6] 1. 下列何者是Python的註解符號?(C) <pre> (A) $ (B) // (C) # (D) % </pre> 2. 下列何者是錯誤的變數名稱?(A) <pre> (A) if (B) mary (C) str56 (D) error_i </pre> 3. num = 8 + True,num 的值為何?(D) <pre> (A) 0 (B) 1 (C) 8 (D) 9 sol: true=1,false=0 </pre> 4. print(type(56.0))顯示的結果為何?( B ) <pre> (A) str (B) float (C) int (D) double <class 'float'> </pre> 5. 下列何者錯誤?( A ) <pre> (A) print(23 + "67") (B) print(23 + int("67")) (C) print(str(23) + "67") (D) print(str(23) + str("67")) </pre> ```python #5.code #print(23+"67") -> 數字23+文字67 print(23+int("67")) #數字23+正整數67 print(str(23)+"67") #文字23後加文字67 print(str(23)+str("67")) #文字23後加文字67 print("67") ``` 90 2367 2367 67 6. num = 96%5,num 的值為何?(B) <pre> (A) 0 (B) 1 (C) 19 (D) 20 sol:%為取餘數 </pre> 7. num=5,則num**=3 的質為何?(D) <pre> (A) 3 (B) 15 (C) 25 (D) 125 sol:**=3為做三次方 </pre> 8. print("78" + "12") 的結果為何?(B) <pre> (A) 90 (B) 7812 (C) 66 (D)產生錯誤 sol:print("78")為印出文字78,故答案為7812 </pre> 9. print(78+12)的結果為何?(A) <pre> (A) 90 (B) 7812 (C) 66 (D)產生錯誤 sol:78+12=90,print(78+12)為印出其結果 </pre> 10. 下列何者運算子的優先順序最高?(A) <pre> (A) -(負) (B) *(C) and (D) += </pre> ## 【self practice】 ```python print("停車每小時30元,當日最高上限150元") time = int(input("請輸入停車時數:")) if(time>5): total=150 else: total=time*30 print("您的停車費為%d元"%(total)) ``` 停車每小時30元,當日最高上限150元 請輸入停車時數:10 您的停車費為150元 ```python salary = int(input("請輸入薪資金額: ")) prize = int(input("請輸入工作獎金: ")) extra = int(input("請輸入加班費: ")) total = salary + prize + extra print("本月實領金額為:" + str(total)) ``` 請輸入薪資金額: 500 請輸入工作獎金: 100 請輸入加班費: 60 本月實領金額為:660 ```python print("年度 所得稅 營業稅 證交稅") print("%4s %6.2f %6.2f %6.2f" % ("2017", 98.34, 90.2, 104.79)) print("%4s %6.2f %6.2f %6.2f" % ("2016", 83, 110.5, 82.45)) print("%4s %6.2f %6.2f %6.2f" % ("2015", 98, 79.32, 102)) ``` 年度 所得稅 營業稅 證交稅 2017 98.34 90.20 104.79 2016 83.00 110.50 82.45 2015 98.00 79.32 102.00