Lệnh sau sẽ in ra kết quả gì? Cách dò kết quả lệnh print trong Python

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

  1. Xác định giá trị các biến đã gán trước dòng print (nếu có).
  2. Tính biểu thức trong ngoặc từ trong ra ngoài, theo thứ tự ưu tiên: ngoặc → ** → *, /, //, % → +, -.
  3. 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.
  4. 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" + 3 mà 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)

  1. print(17 // 5, 17 % 5)
    Đáp án: 3 2 (17 = 5 × 3 + 2).
  2. print("Hi" + "!" * 2)
    Đáp án: Hi!! (phép nhân ưu tiên trước: “!” * 2 = “!!”, rồi nối).
  3. 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).
  4. 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.