## wk_02_0914_變數和運算式 xiuyun dai 1. 變數 2. 運算式 3. print(), input() ## [inclass practice] ### {綜合演練5} MBI值稱為身體質量指標,是一個簡易判斷身體胖瘦程度的方法。 計算BMI值的攻勢式體重(單位為公斤)除以身高(單位為公尺)的平方 : BMI = 體重(KG) / 身高(m)**2 請幫忙設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值。 ```python x=157 y=40 bmi=y/(x/100)**2 print(bmi) ``` 16.227838857560144 ```python weight = input("請輸入您的體重 kg") height = input("請輸入您的身高 cm") print(weight, height) weight = int(weight) height = int(height) type(height) my_bmi = weight/(height/100)**2 print(my_bmi) ``` 請輸入您的體重 kg40 請輸入您的身高 cm157 40 157 16.227838857560144 ```python a= "xiuyun" x=157 y=40 bmi=y/(x/100)**2 #print(x, y, bmi, sep= "---",end="---the end---") print("%s您的身高%d 您的體重%d BMI= %.2f" %(a, x, y, bmi)) ``` xiuyun您的身高157 您的體重40 BMI= 16.23 ## {範例} 1. 格式化列印成績單 <format> 2. 計算成績總分 <input> 3. 計算梯形面積 <arith> 4. 計算複利本金 <complex> ```python # 格式化列印成績單 print("姓名 座號 國文 數學 英文") print("%3s %2d %3d %3d %3d" % ("林大明", 1, 100, 87, 79)) print("%3s %2d %3d %3d %3d" % ("陳阿中", 2, 74, 88, 100)) print("%3s %2d %3d %3d %3d" % ("張小英", 11, 82, 65, 8)) ``` 姓名 座號 國文 數學 英文 林大明 1 100 87 79 陳阿中 2 74 88 100 張小英 11 82 65 8 ```python # 計算成績總分 chinese = float(input("請輸入國文成績")) english = float(input("請輸入英文成績")) math = float(input("請輸入數學成績")) total = chinese+english+math print("國文 %d,英文%d, 數學%d, 總分%.1f" %(chinese, english, math, total)) ``` 請輸入國文成績50 請輸入英文成績50 請輸入數學成績50 國文 50,英文50, 數學50, 總分150.0 ```python # 計算梯形面積 top = float(input("請輸入梯形上底長度:")) bottom = float(input("請輸入梯形下底長度:")) height = float(input("請輸入梯形高度:")) area = (top + bottom) * height / 2 print("梯形的面積為:" + str(area)) ``` 請輸入梯形上底長度:50 請輸入梯形下底長度:20 請輸入梯形高度:30 梯形的面積為:1050.0 ```python # 計算複利本金 deposit = int(input("請輸入本金存款金額:")) times = 1.02 ** 6 deposit *= times print("6 年後存款為:" + str(deposit)) ``` 請輸入本金存款金額:5000 6 年後存款為:5630.81209632 ## [afterclass practice] 1. 綜合演練 選擇題1-10(需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 4、5、6 ( 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= %d"%num) ``` 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")) (A) print(23 + "67") - 錯誤。整數和字符串不能直接相加。 (B) print(23 + int("67")) - 正確。在這裡,你將字符串 "67" 轉換為整數,然後進行加法運算。 (C) print(str(23) + "67") - 正確。在這裡,你將整數 23 轉換為字符串,然後進行字符串連接。 (D) print(str(23) + str("67")) - 正確。在這裡,你將整數 23 和字符串 "67" 都轉換為字符串,然後進行字符串連接。 ( B ) 6. num = 96%5,num 的值為何?(A) 0 (B) 1 (C) 19 (D) 20 ```python num = 96%5 print("num = %d" %num) ``` num = 1 ( D ) 7. num = 5,則num **=3 的值為何?(A) 3 (B) 15 (C) 25 (D) 125 ```python num = 5 x= num **3 print("num **3的值為%d" %x) ``` num **3的值為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) +=