Chọn phép toán theo điều cần tìm
Với hai số nguyên dương 17 và 5: `17 / 5` cho `3.4`; `17 // 5` cho thương nguyên `3`; `17 % 5` cho số dư `2`, vì 17 = 5 × 3 + 2. `2 ** 3` cho 8, là phép lũy thừa. Dấu ngoặc được tính trước; `2 ** 3 ** 2` nhóm theo bên phải, tức `2 ** (3 ** 2) = 512`.
Ví dụ chia 17 quyển vở thành nhóm 5 quyển: có 3 nhóm đủ và dư 2 quyển. Khi viết mã cho số không âm, dùng `//` và `%` để tách số nhóm/số dư; với số âm, kết quả chia nguyên có quy tắc khác, không suy từ ví dụ này.
Bài luyện
Chia 17 vật thành các nhóm 5 vật. Cặp `(17 // 5, 17 % 5)` là gì?
17 = 5 × 3 + 2 nên có 3 nhóm đủ, dư 2.
Dấu // không cho thương thập phân ở đây.
Đảo thương và dư.
Không dùng 5 làm thương của 17 chia 5.
Lời giải
`17 // 5` là 3; `17 % 5` là 2. Kiểm lại: `5 * 3 + 2 = 17`.
Bài luyện
Giá trị của `2 ** 3 ** 2` là bao nhiêu?
64 là `(2 ** 3) ** 2`, cần có ngoặc như vậy.
Lũy thừa nhóm phải: 3 ** 2 = 9, rồi 2 ** 9 = 512.
Không có phép toán nào cho 36.
18 là 2 × 9, không phải 2 lũy thừa 9.
Lời giải
Toán tử `**` kết hợp từ phải sang trái: `2 ** (3 ** 2) = 2 ** 9 = 512`.
Dấu cộng trên xâu là nối
Với `ten = "An"`, `ten + " Bình"` cho xâu `"An Bình"`; dấu cách nằm ở đầu xâu thứ hai. `"la" * 3` cho `"lalala"`. Nhưng `"12" + 3` báo lỗi kiểu dữ liệu: một vế là xâu, vế kia là số. Muốn số 3 thành chữ, dùng `str(3)`; muốn `"12"` thành số, dùng `int("12")` khi chắc đó là cách viết số nguyên hợp lệ.
Bài luyện
Lệnh `"la" * 3` tạo xâu nào?
Không tự nối chữ số 3 vào xâu.
Dấu * với xâu và số nguyên lặp xâu ba lần.
Kết quả vẫn là xâu.
Python cho phép lặp xâu bằng số nguyên.
Lời giải
Lặp xâu `"la"` ba lần và nối sát nhau được `"lalala"`.
Tên biến phải đúng cú pháp
Tên biến có thể gồm chữ cái, chữ số và dấu gạch dưới, nhưng không bắt đầu bằng chữ số; Python phân biệt hoa/thường. `diem_1` và `_tong` hợp lệ, `2diem` không hợp lệ. Không lấy từ khóa như `if`, `for`, `return` làm tên biến. Khi đặt tên thực hành, chọn tên dễ hiểu như `so_nhom` thay vì `x1` nếu nó giúp nhận ra ý nghĩa. Tài liệu SGK dùng bộ tên ASCII cơ bản; Python hiện còn hỗ trợ một số chữ Unicode, nhưng dùng chữ/số ASCII giúp tệp dễ chia sẻ giữa máy.
Bài luyện
Tên nào dùng được cho một biến Python trong các lựa chọn sau?
Tên không bắt đầu bằng chữ số.
`for` là từ khóa.
Tên bắt đầu bằng chữ, có dấu gạch dưới và chữ số ở sau.
Dấu trừ là toán tử, không nằm trong tên.
Lời giải
`diem_1` dùng chữ, dấu gạch dưới và chữ số ở vị trí sau. Các phương án còn lại vi phạm quy tắc tên hoặc trùng từ khóa.
Đang học