Trả lời nhanh
Để biết lệnh print() in ra gì, hãy tính giá trị của biểu thức trong ngoặc trước, chú ý kiểu dữ liệu (số hay xâu) và thứ tự phép toán, rồi mới xét cách in (sep, end). Ví dụ print(7 // 2) in ra 3, còn print(“7” + “2”) in ra 72. Bài này có các ví dụ tự đặt để bạn luyện cách dò.
Lưu ý: đề gốc của câu hỏi này thường kèm một đoạn mã ngắn. Nếu bạn đang cầm đề cụ thể, hãy áp dụng đúng các bước dưới đây vào đoạn mã đó. Các ví dụ trong bài là ví dụ do mình tự đặt (ngôn ngữ Python) để minh hoạ phương pháp.
Bốn bước dò kết quả lệnh print
- Xác định giá trị các biến đã gán trước dòng print (nếu có).
- Tính biểu thức trong ngoặc từ trong ra ngoài, theo thứ tự ưu tiên: ngoặc →
**→*, /, //, %→+, -. - Xét kiểu dữ liệu: int, float, str, bool. Cùng dấu
+nhưng số thì cộng, xâu thì nối. - Xét cách in: các giá trị cách nhau bởi dấu cách (sep mặc định), kết thúc bằng xuống dòng (end mặc định). Xâu in ra không kèm dấu nháy.
Bảng phép toán hay gặp trong đề
| Lệnh | Kết quả in ra | Giải thích |
|---|---|---|
| print(7 / 2) | 3.5 | Phép chia luôn cho số thực |
| print(10 / 5) | 2.0 | Vẫn là số thực nên có “.0” |
| print(7 // 2) | 3 | Chia lấy phần nguyên |
| print(7 % 2) | 1 | Chia lấy phần dư |
| print(2 ** 3) | 8 | Luỹ thừa 23 |
| print(3 + 4) | 7 | Cộng hai số |
| print(“3” + “4”) | 34 | Nối hai xâu |
| print(“ab” * 3) | ababab | Lặp xâu 3 lần |
| print(int(3.9)) | 3 | int() cắt bỏ phần thập phân, không làm tròn |
Ví dụ có lời giải chi tiết
Ví dụ 1: biến và phép gán
x = 5
x += 3
x *= 2
print(x)
Dò: x = 5 → x = 5 + 3 = 8 → x = 8 × 2 = 16. Kết quả: 16. Lỗi hay gặp: tính x *= 2 trên giá trị cũ là 5 và ra 10.
Ví dụ 2: nhiều giá trị trong một lệnh print
a = 5
b = 2
print(a + b, a - b, a > b)
Ba giá trị là 7, 3 và True, in cách nhau một dấu cách. Kết quả: 7 3 True.
Ví dụ 3: sep và end
print("Xin", "chao", sep="-")
print("A", end="")
print("B")
Dòng 1 dùng sep là dấu gạch nối nên in Xin-chao. Dòng 2 in A nhưng không xuống dòng, dòng 3 in B ngay sau đó. Kết quả:
Xin-chao
AB
Ví dụ 4: vòng lặp for với range
for i in range(1, 10, 3):
print(i)
range(1, 10, 3) sinh các số bắt đầu từ 1, bước 3, dừng trước 10: 1, 4, 7. Mỗi số in trên một dòng. Kết quả: 1, 4, 7 (ba dòng).
Mẹo nhớ: range(a, b) lấy từ a đến b − 1, giá trị b không bao giờ được lấy.
Ví dụ 5: chỉ số và cắt xâu
s = "Python"
print(s[0], s[-1], s[1:4])
Chỉ số bắt đầu từ 0: s[0] = “P”; s[-1] là kí tự cuối “n”; s[1:4] lấy các vị trí 1, 2, 3 là “yth”. Kết quả: P n yth.
Những lỗi sai thường gặp khi dò kết quả
- Nhầm
/với//: 7 / 2 là 3.5 nhưng 7 // 2 là 3. - Quên rằng phép chia luôn trả về số thực, nên 10 / 5 in ra 2.0 chứ không phải 2.
- Thấy dấu
+là cộng số, trong khi hai vế là xâu thì phải nối xâu. - Đếm chỉ số từ 1 thay vì từ 0.
- Viết cả dấu nháy vào kết quả: lệnh print(“Hi”) chỉ in
Hi. - Gặp trộn xâu và số như
"5" + 3mà vẫn ghi kết quả: lệnh này gây lỗi TypeError, chương trình không in gì.
Bài luyện tập (có đáp án)
print(17 // 5, 17 % 5)
Đáp án: 3 2 (17 = 5 × 3 + 2).print("Hi" + "!" * 2)
Đáp án: Hi!! (phép nhân ưu tiên trước: “!” * 2 = “!!”, rồi nối).for i in range(2, 8, 2): print(i, end=" ")
Đáp án: 2 4 6 (cùng một dòng, cách nhau dấu cách).print(len("Hà Nội"))
Đáp án: 6 (tính cả dấu cách: H, à, cách, N, ộ, i).
Nếu đề cho dạng trắc nghiệm
Hãy tự dò ra kết quả trước, rồi mới so với bốn phương án. Sau đó loại trừ: phương án sai kiểu dữ liệu (thiếu “.0”, thừa dấu nháy), sai thứ tự phép toán hoặc sai số lần lặp thường là “bẫy” của đề. Nếu còn phân vân, hãy chạy thử đoạn mã trên máy để kiểm chứng.
Câu hỏi thường gặp
Lệnh print trong Python in ra kết quả như thế nào?
Lệnh print tính giá trị các biểu thức trong ngoặc, đổi thành văn bản rồi in ra màn hình. Các giá trị cách nhau một dấu cách và kết thúc bằng xuống dòng nếu không đổi sep, end.
Vì sao print(10 / 5) in ra 2.0 mà không phải 2?
Trong Python, phép chia / luôn cho kết quả kiểu số thực (float) nên 10 / 5 là 2.0. Muốn ra số nguyên 2, dùng phép chia lấy phần nguyên 10 // 5.
print("3" + "4") ra kết quả gì?
Kết quả là 34. Hai vế là xâu kí tự nên dấu + nối chúng lại, không cộng số. Nếu viết print(3 + 4) thì ra 7.
Làm sao biết chắc kết quả khi không chắc chắn?
Dò từng bước theo thứ tự: giá trị biến, thứ tự phép toán, kiểu dữ liệu, cách in. Sau đó chạy thử đoạn mã trong IDLE hoặc trình soạn thảo Python để kiểm tra lại.