Biểu thức và lệnh in
Trong Shell, gõ `5 + 2 * 3` rồi Enter sẽ thấy `11`. Trong tệp `.py`, muốn kết quả hiện ra thì dùng `print(5 + 2 * 3)`. Python tính `2 * 3` trước, sau đó cộng `5`. Đặt ngoặc để thay thứ tự: `print((5 + 2) * 3)` in `21`.
`print` có thể nhận nhiều giá trị. `print("Tổng:", 5 + 2)` in `Tổng: 7`; mặc định hai giá trị được ngăn bằng một dấu cách. Phần trong dấu nháy là **xâu kí tự**, không được tính như biểu thức số.
Bài luyện
Tệp Python chứa `print(5 + 2 * 3)`. Kết quả in ra là gì?
21 là khi có ngoặc quanh 5 + 2.
Nhân trước: 2 × 3 = 6; cộng 5 được 11.
Đối số không ở trong dấu nháy nên được tính.
Lệnh print đưa kết quả ra màn hình.
Lời giải
Python tính phép nhân trước: `2 * 3 = 6`, rồi `5 + 6 = 11`; `print` in số 11.
Bài luyện
Lệnh `print("Tổng:", 5 + 2)` in dòng nào theo thiết lập mặc định?
Xâu được in không kèm dấu nháy; biểu thức cho 7, giữa hai đối số có dấu cách.
Biểu thức số được tính trước khi in.
Dấu nháy và dấu phẩy ở mã không in nguyên như vậy.
Hai số không là hai đối số riêng trong lệnh này.
Lời giải
`"Tổng:"` là xâu, `5 + 2` cho 7. `print` nhận hai đối số nên mặc định in `Tổng: 7`.
Dấu nháy quyết định chữ hay phép tính
`print("5 + 2")` in đúng các kí tự `5 + 2`; `print(5 + 2)` in `7`. Cùng một dãy kí hiệu nhưng dấu nháy đổi cách Python hiểu dữ liệu. Có thể dùng nháy đơn hoặc nháy kép bao một xâu, miễn là cặp dấu khớp nhau. Khi muốn in cả lời giải ngắn, tách nhãn và giá trị giúp thấy đâu là chữ, đâu là phép tính: `print("3 × 4 =", 3 * 4)` in `3 × 4 = 12`.
Bài luyện
Lệnh nào in đúng `3 × 4 = 12` bằng cách để Python tự tính tích?
Vế sau là biểu thức số `3 * 4`, cho 12.
Vế sau ở trong nháy nên in nguyên chữ `3 * 4`.
Kí hiệu × và dấu = ở đây không tạo biểu thức Python hợp lệ.
Chỉ in một xâu và không tính tích.
Lời giải
Giữ nhãn `"3 × 4 ="` là xâu, còn `3 * 4` nằm ngoài dấu nháy để Python tính thành 12.
Đang học