Python 基礎:變數與算術運算教學
Python 基礎:變數與算術運算教學
課程概要
- 變數是什麼、常見資料型別有哪些
- Python 算術運算子與運算優先順序
input()為什麼會造成「看起來在加法,結果卻變成拼字串」- BMI 的實作範例
- 常見錯誤
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
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.