Lệnh sau sẽ in ra kết quả gì? Cách đọc kết quả lệnh print() trong Python

Trả lời nhanh

Lệnh print() in ra giá trị của biểu thức bên trong. Python tính theo thứ tự: ngoặc (), rồi luỹ thừa **, rồi * / // % (từ trái sang phải), cuối cùng + và −. Ví dụ print(13 + 10 * 3 ** 2) in ra 103, vì 3**2 = 9, 10*9 = 90, 13+90 = 103. Các ví dụ dưới đây là ví dụ tự đặt để em luyện cách tính.

Dạng câu hỏi “Lệnh sau sẽ in ra kết quả gì?” thường cho một dòng print(...) chứa các số như 13, 10, 3, 2 nối với nhau bằng phép toán. Em không cần chạy máy, chỉ cần tính đúng thứ tự. Nếu đề của em có số liệu khác, hãy áp dụng đúng các bước bên dưới.

Bước 1: Nhớ thứ tự ưu tiên của phép toán

Mức Phép toán Ghi chú
1 (cao nhất) ( ) Tính trong ngoặc trước
2 ** Luỹ thừa, tính từ phải sang trái
3 *, /, //, % Cùng mức, tính từ trái sang phải
4 (thấp nhất) +, − Cùng mức, tính từ trái sang phải

Mẹo nhớ: “Ngoặc – Mũ – Nhân chia – Cộng trừ”, giống thứ tự trong Toán nhưng thêm // và % nằm cùng hàng với nhân chia.

Bước 2: Hiểu ý nghĩa từng toán tử

  • /: chia thường, kết quả luôn là số thực. print(13 / 10) in ra 1.3; print(10 / 2) in ra 5.0.
  • //: chia lấy phần nguyên. 13 // 10 = 1.
  • %: chia lấy phần dư. 13 % 10 = 3.
  • **: luỹ thừa. 3 ** 2 = 9.

Bước 3: Tính qua các ví dụ mẫu

Ví dụ 1. print(13 + 10 * 3 ** 2)

  1. 3 ** 2 = 9
  2. 10 * 9 = 90
  3. 13 + 90 = 103

Kết quả: 103.

Ví dụ 2. print((13 + 10) * 3 ** 2)

Ngoặc trước: 23. Luỹ thừa: 9. Nhân: 23 * 9 = 207. Kết quả: 207. So với ví dụ 1, chỉ thêm cặp ngoặc mà kết quả khác hẳn.

Ví dụ 3. print(13 - 10 * 3 // 2)

10 * 3 = 30, rồi 30 // 2 = 15 (cùng mức, từ trái sang phải), cuối cùng 13 − 15 = −2. Kết quả: -2.

Ví dụ 4. print(13 // 10 * 3 % 2)

Từ trái sang phải: 13 // 10 = 1; 1 * 3 = 3; 3 % 2 = 1. Kết quả: 1.

Ví dụ 5. print(2 ** 3 ** 2)

Luỹ thừa tính từ phải sang trái: 3 ** 2 = 9, rồi 2 ** 9 = 512. Kết quả: 512 (không phải 64).

Khi trong print() có chuỗi hoặc nhiều giá trị

  • print("13" + "10") in ra 1310: dấu + nối hai chuỗi, không cộng số.
  • print("3" * 2) in ra 33: nhân chuỗi với số nguyên là lặp chuỗi.
  • print(13 + 10, 3 ** 2) in ra 23 9: hai giá trị cách nhau dấu phẩy được in cách nhau một dấu cách.
  • print("13 + 10") in nguyên văn 13 + 10 vì nằm trong dấu nháy nên là chuỗi, không tính.

Lỗi sai thường gặp

  • Tính cộng trước nhân: ở ví dụ 1 ra (13+10)*9 = 207 là sai.
  • Quên rằng / luôn cho số thực: viết 5 thay vì 5.0.
  • Tính -3 ** 2 thành 9. Thực tế ** ưu tiên hơn dấu trừ nên kết quả là -9.
  • Nhầm // với /, hoặc nhầm % với phần trăm.

Bài luyện tập

  1. print(7 + 2 * 3 ** 2 - 4)
  2. print(20 // 6 % 4)
  3. print((5 + 3) ** 2 / 4)

Đáp án:

  1. 3**2 = 9; 2*9 = 18; 7 + 18 − 4 = 21.
  2. 20 // 6 = 3; 3 % 4 = 3.
  3. (5+3) = 8; 8**2 = 64; 64 / 4 = 16.0.

Cách làm bài nhanh trong đề trắc nghiệm

Em hãy gạch chân các phép luỹ thừa trước, rồi các phép nhân – chia – chia nguyên – chia dư từ trái sang phải, cuối cùng mới cộng trừ. Viết kết quả từng bước ra nháp, không tính nhẩm gộp. Sau đó kiểm tra kiểu dữ liệu: có dấu / thì kết quả có phần thập phân.

Câu hỏi thường gặp

Lệnh print() trong Python dùng để làm gì?

print() hiển thị giá trị lên màn hình. Nếu bên trong là biểu thức, Python tính giá trị biểu thức rồi mới in; nếu là chuỗi trong dấu nháy thì in nguyên văn.

Trong Python, // và % khác nhau thế nào?

// lấy phần nguyên của phép chia, % lấy phần dư. Ví dụ 13 // 10 = 1 và 13 % 10 = 3.

Vì sao print(10 / 2) in ra 5.0 chứ không phải 5?

Toán tử / trong Python luôn trả về số thực, kể cả khi chia hết. Muốn kết quả nguyên thì dùng //.

Thứ tự ưu tiên các phép toán trong Python là gì?

Ngoặc (), luỹ thừa **, rồi * / // % từ trái sang phải, cuối cùng + và − từ trái sang phải.