Bài 3: Máy tính biết tính toán! (phép toán với số)
🎯 Mục tiêu bài học
Sau bài này, em sẽ biết: (1) dùng các phép toán
Sau bài này, em sẽ biết: (1) dùng các phép toán
+ - * / để tính; (2) tính toán với biến số; (3) hiểu vì sao phải dùng int() để đổi câu trả lời của input thành số mới tính được.
Máy tính — đúng như tên gọi — rất giỏi tính toán, nhanh hơn con người rất nhiều! Ở bài này, em sẽ biến Python thành một chiếc máy tính bỏ túi biết cộng, trừ, nhân, chia, và thậm chí tự tính điểm trung bình giúp em.
1. Các phép toán trong Python
Máy tính dùng vài ký hiệu hơi khác so với toán em học ở lớp: dấu nhân là
* (dấu sao), dấu chia là / (dấu gạch chéo). Còn cộng + và trừ - thì giống hệt.
Máy tính dùng dấu * để nhân và dấu / để chia (không có dấu × và ÷ trên bàn phím)
print(5 + 3) print(10 - 4) print(6 * 7) print(20 / 4)
👉 Kết quả lần lượt là: 8, 6, 42, 5.0. Lưu ý: phép chia
/ luôn cho kết quả có dấu chấm thập phân (ví dụ 5.0).2. Thứ tự thực hiện phép tính
Giống như trong toán, máy tính làm nhân chia trước, cộng trừ sau. Muốn đổi thứ tự, ta dùng dấu ngoặc đơn ( ):
print(2 + 3 * 4) print((2 + 3) * 4)
👉 Dòng 1 in ra 14 (làm 3*4=12 trước, rồi +2). Dòng 2 in ra 20 (ngoặc làm 2+3=5 trước, rồi *4).
3. Tính toán với biến 📦
Ta có thể cất số vào biến rồi tính, giống như đặt tên cho các con số:
so_tao = 12 so_ban = 4 moi_ban = so_tao / so_ban print("Mỗi bạn được", moi_ban, "quả táo")
👉 Kết quả: Mỗi bạn được 3.0 quả táo. Máy lấy giá trị trong hộp
so_tao chia cho hộp so_ban.4. Lỗi kinh điển: quên đổi chữ sang số! 🐞
⚠️ Điều rất quan trọng: Lệnh
input() luôn đưa về một chuỗi chữ, kể cả khi em gõ số! Muốn tính toán với nó, em phải đổi sang số bằng int().
int() biến chuỗi chữ số thành số thật, để máy có thể tính toán được
# Cách đúng: bọc input trong int() tuoi = int(input("Tuổi của em: ")) print("Sang năm em", tuoi + 1, "tuổi")
👉 Nhờ có
int(), câu trả lời được đổi thành số nên phép tuoi + 1 mới tính được. Nếu quên int(), máy sẽ báo lỗi khi cố cộng chữ với số!5. Bảng ghi nhớ ✨
| Muốn làm gì | Viết thế nào |
|---|---|
| Cộng / Trừ | a + b / a - b |
| Nhân / Chia | a * b / a / b |
| Đổi thứ tự tính | Dùng ngoặc: (a + b) * c |
| Nhập một số từ bàn phím | n = int(input("...")) |
6. Cùng luyện tập nào! ✍️
Câu 1. Đoạn lệnh print(6 * 7) in ra gì?
Dấu
* là phép nhân. Vậy 6 * 7 = 42. Vì không có ngoặc kép nên máy tính rồi in ra kết quả, chứ không in lại phép tính.Câu 2. Máy tính in ra gì với lệnh print(2 + 3 * 4)?
Máy làm nhân trước, cộng sau:
3 * 4 = 12, rồi 2 + 12 = 14. Nếu muốn ra 20 thì phải thêm ngoặc: (2 + 3) * 4.Câu 3. Sau đoạn lệnh sau, biến tong chứa số mấy?
a = 7 b = 5 tong = a + b
Máy lấy giá trị trong hộp
a (là 7) cộng với hộp b (là 5): 7 + 5 = 12. Kết quả 12 được cất vào hộp tong.Câu 4. 🐞 Em muốn nhập một số rồi cộng thêm 1. Cách viết nào đúng?
input() luôn cho ra chuỗi chữ, không tính được. Phải bọc trong int() để đổi sang số: n = int(input("So: ")). Khi đó n + 1 mới tính đúng.Câu 5. Điểm 3 môn là 8, 9 và 10. Câu lệnh nào tính đúng điểm trung bình (= tổng chia 3)?
Phải cộng cả 3 điểm trước rồi mới chia cho 3, nên cần ngoặc:
(8 + 9 + 10) / 3 = 27 / 3 = 9.0. Đáp án A sai vì máy sẽ chia 10 cho 3 trước (do nhân chia ưu tiên).🚀 Tự tay thử code Python ngay tại đây!
Đây là chương trình tính điểm trung bình 3 môn. Bấm Chạy, nhập 3 điểm rồi xem máy tính giúp em! Chú ý cách dùng
int(input(...)) để nhập số.(Kết quả sẽ hiện ở đây...)
💡 Mẹo: chỉ gõ số khi máy hỏi điểm (ví dụ 8, 9, 10) nhé.
📝 Thử thách mở rộng: Hãy viết một chương trình hỏi chiều dài và chiều rộng của một hình chữ nhật (nhập số), rồi tính và in ra diện tích (dài × rộng) và chu vi ((dài + rộng) × 2). Nhớ dùng
int(input(...))!