## wk02_0914_變數與運算式 1. 變數 2. 運算式 3. input()、print() ### [inclass practice] <pre> {綜合演練5} MBI值稱為身體質量指標,是一個簡易判斷身體胖瘦程度的方法。 計算BMI值的攻勢式體重(單位為公斤)除以身高(單位為公尺)的平方 : BMI = 體重(KG) / 身高(m)**2 請幫忙設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值。</pre> ```python height = 185 weight = 60 bmi = 60 / 1.85 ** 2 print("您的身高", height, "您的體重", weight, "您的BMI", bmi) ``` 您的身高 185 您的體重 60 您的BMI 17.531044558071585 ```python my_height = input("請輸入您的身高(cm)") print(type(my_height)) my_height = int(my_height) print(type(my_height)) ``` 請輸入您的身高(cm)185 <class 'str'> <class 'int'> ```python height = 185 weight = 60 bmi = 59 / 1.85 ** 2 # print("您的身高", height, "您的體重", weight, "您的BMI", bmi, sep="---", end="===") print("\n您的身高 %d cm ,您的體重 %d kg ,您的BMI %.2f" %(height, weight, bmi)) ``` 您的身高 185 cm ,您的體重 60 kg ,您的BMI 17.24 ### {範例} 1. 格式化列印成績單 <format> 2. 計算成績總分 <input> 3. 計算梯形面積 <arith> 4. 計算複利本金 <complex> ```python # 1. 格式化列印成績單 <format> a = 100 b = 17.24 c = "陳俊碩" 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> Chinese = int(input("國文成績:")) English = int(input("英文成績:")) print("總分為", Chinese + English) ``` 國文成績:100 英文成績:85 總分為 185 ```python # 3. 計算梯形面積 <arith> top = 1 bottom = 2 h = 5 area = (top + bottom) * h print("梯形面積為", area) ``` 梯形面積為 15 ### [afterclass practice] 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) 2. 教學影音 lesson 4[、5、6] ##### 1. 下列何者是Python的註解符號? (A) $ (B) // (C) # (D) % * 答案:(C) ##### 2. 下列何者是錯誤的變數名稱? (A) if (B) mary (C) str56 (D) error_i * 答案:(A) ##### 3. num = 8 + True,num 的值為何? (A) 0 (B) 1 (C) 8 (D) 9 * 答案:(D) ```python num = 8 + True print(num) ``` 9 ##### 4. print(type(56.0))顯示的結果為何? (A) str (B) float (C) int (D) double * 答案:(B) ```python print(type(56.0)) ``` <class 'float'> ##### 5. 下列何者錯誤? (A) print(23 + "67") (B) print(23 + int("67")) (C) print(str(23) + "67") (D) print(str(23) + str("67")) * 答案:(A) ```python print(23 + "67") ``` --------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[9], line 1 ----> 1 print(23 + "67") TypeError: unsupported operand type(s) for +: 'int' and 'str' ```python print(23 + int("67")) ``` 90 ```python print(str(23) + "67") ``` 2367 ```python print(str(23) + str("67")) ``` 2367 ##### 6. num = 96%5,num 的值為何? (A) 0 (B) 1 (C) 19 (D) 20 * 答案:(B) ```python num = 96%5 print(num) ``` 1 ##### 7. num = 5,則num **=3 的值為何? (A) 3 (B) 15 (C) 25 (D) 125 * 答案:(D) ```python num = 5 ans = num ** 3 print(ans) ``` 125 8. print("78" + "12") 的結果為何? (A) 90 (B) 7812 (C) 66 (D)產生錯誤 * 答案:(B) ```python print("78" + "12") ``` 7812 ##### 9. print(78 + 12) 的結果為何? (A) 90 (B) 7812 (C) 66 (D)產生錯誤 * 答案:(A) ```python print(78 + 12) ``` 90 ##### 10. 下列何者運算子的優先順序最高? (A) -(負) (B) *(C) and (D) += * 答案:(A) ### [self practice] ```python name1 = input("請輸入第一位學生的姓名:") score1 = int(input("請輸入第一位學生的成績: ")) name2 = input("請輸入第二位學生的姓名:") score2 = int(input("請輸入第二位學生的成績: ")) print() print("姓名 成績") print("%-4s %3d" % (name1, score1)) print("%-4s %3d" % (name2, score2)) print("成績總分為:" + str(score1 + score2)) ``` 請輸入第一位學生的姓名:Martin 請輸入第一位學生的成績: 95 請輸入第二位學生的姓名:Alan 請輸入第二位學生的成績: 90 姓名 成績 Martin 95 Alan 90 成績總分為:185