Trả lời nhanh
Phép chia lấy phần dư trong Python kí hiệu là % (đáp án A). Ví dụ 17 % 5 cho kết quả 2 vì 17 = 5 × 3 + 2. Kí hiệu // dùng để chia lấy phần nguyên, / là phép chia thông thường cho kết quả số thực, còn mod không phải toán tử trong Python (chỉ gặp ở Pascal).
Các phép toán số học trong Python
| Phép toán | Kí hiệu | Ví dụ | Kết quả |
|---|---|---|---|
| Cộng | + | 7 + 2 | 9 |
| Trừ | – | 7 – 2 | 5 |
| Nhân | * | 7 * 2 | 14 |
| Chia (kết quả thực) | / | 7 / 2 | 3.5 |
| Chia lấy phần nguyên | // | 7 // 2 | 3 |
| Chia lấy phần dư | % | 7 % 2 | 1 |
| Luỹ thừa | ** | 7 ** 2 | 49 |
Phân tích từng phương án
- A. %: đúng. Đây là toán tử lấy phần dư (modulo).
- B. //: sai. Toán tử này lấy phần nguyên của thương.
- C. /: sai. Đây là phép chia thông thường, kết quả luôn là số thực kiểu float.
- D. mod: sai. Từ khoá mod dùng trong Pascal, còn Python không có toán tử này.
Hiểu bản chất: chia có dư
Khi chia số nguyên a cho số nguyên b (b khác 0) ta có a = b × q + r với q là thương, r là số dư và 0 ≤ r < b. Trong Python: a // b cho q, còn a % b cho r. Hai phép toán này luôn đi đôi với nhau.
Ví dụ: 29 chia 6 được thương 4 dư 5, vì 29 = 6 × 4 + 5. Python viết 29 // 6 được 4 và 29 % 6 được 5.
Ví dụ chương trình
a = 29
b = 6
print(a // b) # 4
print(a % b) # 5
Với đoạn x = 6, y = 2 thì x % y cho 0 vì 6 chia hết cho 2, còn x // y cho 3.
Ứng dụng của phép chia lấy phần dư
- Kiểm tra số chẵn, lẻ:
n % 2 == 0là số chẵn,n % 2 == 1là số lẻ. - Kiểm tra chia hết:
a % b == 0nghĩa là a chia hết cho b. - Tách chữ số: chữ số hàng đơn vị của n là
n % 10; bỏ chữ số cuối làn // 10. - Đổi giây ra phút: 135 giây =
135 // 60phút và135 % 60giây, tức 2 phút 15 giây.
Lỗi sai thường gặp
- Nhầm
%với dấu phần trăm trong toán học. Trong Python, % chỉ là toán tử lấy phần dư. - Dùng
/rồi tưởng kết quả là số nguyên.6 / 2cho 3.0 chứ không phải 3. - Viết
x mod ynhư Pascal gây lỗi cú pháp. - Chia cho 0: cả
a // 0vàa % 0đều báo lỗi ZeroDivisionError.
Luyện tập
Câu 1. Kết quả của 25 % 7 là gì?
Đáp án: 4, vì 25 = 7 × 3 + 4.
Câu 2. Viết biểu thức Python lấy chữ số hàng đơn vị của số n.
Đáp án: n % 10.
Câu 3. Đoạn lệnh print(100 // 8, 100 % 8) in ra gì?
Đáp án: 12 4, vì 100 = 8 × 12 + 4.
Câu hỏi thường gặp
Kí hiệu phép chia lấy phần dư trong Python là gì?
Kí hiệu là dấu phần trăm %, ví dụ 17 % 5 cho kết quả 2.
Phép chia lấy phần nguyên trong Python kí hiệu như thế nào?
Kí hiệu là hai dấu gạch chéo //, ví dụ 17 // 5 cho kết quả 3.
Python có toán tử mod không?
Không. Toán tử mod thuộc ngôn ngữ Pascal, còn Python dùng dấu % để lấy phần dư.
Làm sao kiểm tra một số là chẵn trong Python?
Dùng điều kiện n % 2 == 0; nếu đúng thì n là số chẵn.