Post

Python 基礎:變數與算術運算教學

Python 基礎:變數與算術運算教學

課程概要

  1. 變數是什麼、常見資料型別有哪些
  2. Python 算術運算子與運算優先順序
  3. input() 為什麼會造成「看起來在加法,結果卻變成拼字串」
  4. BMI 的實作範例
  5. 常見錯誤

1. 變數

  • 變數可視為箱子,可以存放資料,把資料存放進去後,有需要使用時可以再取出來使用
  • 能存放四種資料型態:整數、浮點數(小數)、字串(文字)、布林值(成立/不成立)。
    • 整數 int:例如 1, 100, -5
    • 浮點數 float:例如 3.14, 10.5
    • 字串 str:文字資料,例如 “Hello”, “100”
    • 布林值 bool:只有 True 與 False

      提醒:100跟”100” 是兩個不同的資料型態,100是數字,”100”是文字,數字資料才能夠進行算術運算喔

1-1. 使用變數

設定變數並顯示內容:

1
2
3
4
5
6
7
8
9
NUM = 100
STR = "100"
BOL = True
FLOAT_NUM = 10.5

print(NUM)  
print(STR)  
print(BOL)  
print(FLOAT_NUM)  

執行結果:

1
2
3
4
100
100
True
10.5

1-2. 變數命名建議

寫程式時,幫箱子取個好理解的名字,會讓你更容易理解該箱子的用處

  • 優先用有意義的名稱:weight_kg 比 W 更好懂
  • 可用英文字母、數字、底線 _,但不能以數字開頭
  • 建議用小寫 + 底線(Python 常見風格):student_score
  • 避免使用關鍵字或內建函式名稱(例如 print, input, if)

2. 算術運算符號

  • 常用算術運算符號有五種,依執行優先順序為:
    1. 括號
    2. 次方(使用 **
    3. 乘除(*/
    4. 取餘數(使用 %)、取商數(使用 //
    5. 加減(+-

範例:括號優先順序較高,要優先執行

1
2
result = (2 + 3) * 4
print(result)

執行結果:

1
20

範例:

1
2
n = 7
print(n % 2)  

執行結果:

1
1  # 計算結果為1代表是奇數,計算結果為0則代表是偶數

3. 資料型態的陷阱:input() 讀進來一律是字串

錯誤範例:文字相加

1
2
3
4
I = input("請輸入第一個數字: ")
J = input("請輸入第二個數字: ")
result = I + J
print(result)

執行結果:

1
如果輸入 100 和 200,輸出:100200

正確範例:數字相加(先轉型再運算 int() / float())

1
2
3
4
5
#如果要做整數加法
I = int(input("請輸入第一個數字: "))
J = int(input("請輸入第二個數字: "))
result = I + J
print(result)

執行結果:

1
如果輸入 100 和 200,輸出:300

如果要做小數加法

1
2
3
I = float(input("請輸入第一個數字: "))
J = float(input("請輸入第二個數字: "))
print(I+J)

4. BMI 計算範例

使用者輸入體重(公斤)與身高(公分)來計算 BMI:

1
2
3
4
W = int(input("請輸入體重(公斤): "))
H = int(input("請輸入身高(公分): ")) / 100  
BMI = W / (H ** 2)
print(BMI) 

執行結果:

1
如果輸入 100 和 200,輸出:25.0

想讓結果更好閱讀(小數點後兩位):

1
print(f"BMI = {bmi:.2f}")

執行結果:

1
BMI = 25.00

5. 常見錯誤

  • 輸出變成 100200:你把字串當數字加了
    • 解法:用 int()float() 轉型
  • 出現 TypeError(型別錯誤):常見原因是把字串和數字混用 +
    • 解法:先 print(type(x)) 確認型別,再決定要轉成數字或字串
  • 不確定該用 int 還是 float
    • 只接受整數:用 int()
    • 可能有小數:用 float()

課程小結

  • 在計算之前,請先確定資料型態
    • input() 進來是字串,想做計算就先轉型;不確定就用 type() 查。
  • 算數符號有優先順序之分

✍️ 實作練習:換你動手做做看

  • 練習平台:點此前往解題系統
  • 課程代碼:SzNTKb
  • 練習目標
    • 完成第2個作業:YouTube線上課程 - 課堂作業 算術運算
    • 完成第3個作業:YouTube線上課程 - 題目講解 算術運算
This post is licensed under CC BY 4.0 by the author.

© homedad. Some rights reserved.

Using the Chirpy theme for Jekyll.