{%hackmd @themes/orangeheart %} ## wk02_0914_變數與運算式 ### 醫放三 B1003210 應雨岑 1. 變數 2. 運算式 3. input(), print() ## 今日課程內容 1. 變數 2. 資料型態 3. 輸入與輸出 4. 運算式<pre> 算術運算子 ( +-*/ ) 比較運算子 ( ><= ) 邏輯運算子 ( 做邏輯狀態TRUE OR FALSE ) 複合指定運算子 運算子 + 的功能 運算子的優先順序 </pre> ## NOTE 運算式=運算元+運算子 ## [ INCLASS PRACTICE ] * #### Q:設計一個程式讓使用者輸入他的身高(公分)及體重(公斤)後計算出他的BMI值 ```python height = 155 weight = 46 bmi = 46 / 1.55 ** 2 # 我是註解 print("您的身高",height,"您的體重",weight,"您的 BMI",bmi,sep=".",end='\n') print("您的身高為%d cm,您的體重為%d kg,您的BMI為%.2f " % (height,weight,bmi)) ``` 您的身高.155.您的體重.46.您的 BMI.19.14672216441207 您的身高為155 cm,您的體重為46 kg,您的BMI為19.15 ```python my_height = input("請輸入身高(cm)") type(my_height) my_height = int(my_height) my_weight = input("請輸入體重(kg)") type(my_weight) my_weight = int(my_weight) print(type(my_height )) ``` 請輸入身高(cm)155 請輸入體重(kg)46 <class 'int'> ## note <pre> 計算符號之間可以加空白鍵 <br> ** : 幾次方<br> sep="." : 分隔符號為. end="/" : 結束用/結束 在print內寫入%d : 放入參數答案 (最後在答案要加%) %f : 放入的答案包含全部小數點 %.1f : 包含 1位小數點 %.3f : 包含 3位小數點 寫法如下- print("身高為%d cm,體重為%d kg,BMI為%.1f " % (height,weight,bmi)) print("顯示的文字",參數名字)<br> my_height = input("請輸入身高(cm)") : 可以輸入文字進去對話框 使用者輸入的文字要轉換成"int" ()<br> </pre> #### 1.格式化列印成績單 <format> ```python a = 100 b = 19.15 c = "kelly" d = True e = "12" print(type(a)) #int 整數 print(type(b)) #float 有小數 print(type(c)) #str 為字串 print(type(d)) #bool 兩種答案-對或錯 print(int(e)+50) #把"字串的數字"和數字做加總 print(e+str(50)) ``` <class 'int'> <class 'float'> <class 'str'> <class 'bool'> 62 1250 #### 2. 計算成績總分 \<input> ```python chinese = int(input("國文成績")) english = int(input("英文成績")) print("總分為", chinese + english) ``` 國文成績100 英文成績100 總分為 200 #### 3. 計算梯形面積 <arith> ```python top = 1 bottom = 2 height = 5 area = (top+bottom)*height/2 print(area) ``` 7.5 ```python #換寫法 top = int(input("上底")) bottom = int(input("下底")) height = int(input("高")) print("面積為", (top+bottom)*height/2) ``` 上底1 下底2 高5 面積為 7.5 ## [ afterclass practice ] > 1. 綜合演練 選擇題1-10 (需抄題在markdown cell ; 有程式碼的題目要有code cell ) >2. 教學影音 lesson 4[、5、6] * ## 綜合演練 選擇題1-10 ## 1.下列何者是Python的註解符號? <pre> (A) $ (B) // (C) # (D) % </pre> ### 答案: C ```python # 我是註解 ``` ## 2.下列何者是錯誤的變數名稱? <pre> (A) if (B) mary (C) str56 (D) error_i </pre> ### 答案: A #### 因為if 是python內的一個語法,因此如果設成一個變數名稱的話,系統可能就會判別錯誤,因此是個錯誤的變數名稱 ## 3.num = 8 + True,num 的值為何? <pre> (A) 0 (B) 1 (C) 8 (D) 9 </pre> ### 答案: D #### 因為True為1,則8+1=9 ```python #第3題計算過程 print(8+True) ``` 9 ## 4.print(type(56.0))顯示的結果為何? <pre> (A) str (B) float (C) int (D) double </pre> ### 答案: B #### 因為56.0是有小數點的,因此結果為float ```python print(type(56.0)) ``` <class 'float'> ## 5. 下列何者錯誤? <pre> (A) print(23 + "67") (B) print(23 + int("67")) (C) print(str(23) + "67") (D) print(str(23) + str("67")) </pre> ### 答案: A #### 因為在計算時只能以同樣的種類做計算,而23是數字,"67"是文字,因此無法出現正確的結果<br>若在"67"前面加上int就可以把它變成整數一起做計算,不然也可以將23變成str(23),變成字串的加總 ```python #A選項是錯誤的 print("A",23 + "67") ``` --------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[9], line 2 1 #A選項是錯誤的 ----> 2 print("A",23 + "67") TypeError: unsupported operand type(s) for +: 'int' and 'str' ```python print("B",23 + int("67"),end='\n') print("C",str(23) + "67") print("D",str(23) + str("67")) ``` B 90 C 2367 D 2367 ## 6. num = 96%5,num 的值為何? <pre> (A) 0 (B) 1 (C) 19 (D) 20 </pre> ### 答案: B #### 因為%是餘數的意思,表示96/5=19餘1 ```python print("num = ", 96%5) ``` num = 1 ## 7. num = 5,則num **=3 的值為何? <pre> (A) 3 (B) 15 (C) 25 (D) 125 </pre> ### 答案: D #### 因為**表示次方的意思,則3表示num被立方了,因此num最後變成5的3次方等於125 ```python num = 5 num **=3 print(num) ``` 125 ## 8. print("78" + "12") 的結果為何? <pre> (A) 90 (B) 7812 (C) 66 (D)產生錯誤 </pre> ### 答案: B #### 因為兩者都為字串,因此加總時就是兩個字放在一起 ```python print("78" + "12") ``` 7812 ### 9. print(78 + 12) 的結果為何? <pre> (A) 90 (B) 7812 (C) 66 (D)產生錯誤 </pre> ## 答案: A #### 因為兩者都為數字(整數),因此加總時就是正常的數學運算 ```python print(78 + 12) ``` 90 ## 10.下列何者運算子的優先順序最高? <pre> (A) -(負) (B) * (C) and (D) += </pre> ### 答案: A #### 因為在python 中運算有一些先後順序,由先到後的順序大概是: 括號-指數-正負號(A)-算數的運算符號(B)-比較運算符-邏輯運算符(C)-賦值運算符(D)<br>因此負號的優先順序最高 * ## 教學影音 lesson 4 這部影片更詳細的說明了這個禮拜上課的內容,讓我對於像是type的意義(查看資料的型態),或是資料型態的轉換等等的有更多的了解 ## [ self practice ] * ## 綜合演練二 2. 計程車計費為第1公里70元,之後多1公里多30元 ```python distance= input("請輸入:搭了幾公里(整數)") distance=int(distance) fare= 70+(distance-1)*30 print("總車費為", fare) ``` 請輸入:搭了幾公里(整數)5 總車費為 190
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up