Trả lời nhanh
Lệnh input() dùng để nhập dữ liệu từ bàn phím vào chương trình. Cú pháp: biến = input(dòng thông báo). Chương trình hiển thị dòng thông báo, chờ người dùng gõ rồi nhấn Enter, sau đó gán giá trị vừa gõ (luôn là kiểu chuỗi) cho biến. Còn lệnh print() đưa dữ liệu ra thiết bị ra chuẩn, thường là màn hình.
Lệnh input() làm những việc gì?
Một chương trình muốn xử lý dữ liệu thì phải có dữ liệu đầu vào. Trong Python, cách đơn giản nhất để người dùng đưa dữ liệu vào là lệnh input(). Khi chạy đến lệnh này, chương trình tạm dừng và chờ bạn gõ.
Cú pháp tổng quát:
biến = input("dòng thông báo")
- Dòng thông báo (có thể bỏ trống): là lời nhắc hiện trên màn hình để người dùng biết cần nhập gì.
- Người dùng gõ dữ liệu rồi nhấn Enter.
- Giá trị nhận được được gán cho biến bên trái dấu bằng.
Ví dụ:
ten = input("Bạn tên là gì? ")print("Chào", ten)
Nếu bạn gõ Lan thì màn hình hiện Chào Lan.
Lệnh print() có chức năng gì?
Ngược lại với input(), lệnh print() đưa dữ liệu ra thiết bị ra chuẩn – thông thường là màn hình. Trong ngoặc có thể là chuỗi, số, biến hoặc biểu thức, ngăn cách nhau bằng dấu phẩy.
print("Xin chào")→ in ra: Xin chàoprint(3 + 4)→ in ra: 7print("A", "B", sep="-")→ in ra: A-B (sep là ký tự ngăn cách)print("Xin", "chào", end="!")→ in ra: Xin chào! và không xuống dòng (end quy định phần kết thúc)
Bảng so sánh nhanh
| Tiêu chí | input() | print() |
|---|---|---|
| Chiều dữ liệu | Từ người dùng vào chương trình | Từ chương trình ra màn hình |
| Thiết bị thường dùng | Bàn phím (thiết bị vào chuẩn) | Màn hình (thiết bị ra chuẩn) |
| Kết quả | Trả về một chuỗi | Không trả về giá trị dùng được |
| Cú pháp | biến = input("thông báo") |
print(giá trị 1, giá trị 2, …) |
Vì sao phải đổi kiểu sau khi nhập?
Đây là chỗ học sinh sai nhiều nhất: input() luôn trả về kiểu chuỗi (str), kể cả khi bạn gõ số. Muốn tính toán phải đổi kiểu:
- Số nguyên:
n = int(input("Nhập n: ")) - Số thực:
x = float(input("Nhập x: "))
Nếu không đổi kiểu, phép + sẽ nối chuỗi thay vì cộng số. Nhập 5 và 7 rồi chạy a + b sẽ ra 57, không phải 12.
Nếu đề yêu cầu xét đúng/sai hai phát biểu
Với dạng đề cho hai ý: (1) cú pháp lệnh input là biến = input(dòng thông báo); (2) lệnh print() đưa dữ liệu ra thiết bị ra chuẩn, cả hai đều đúng. Lưu ý trong code thực tế, dòng thông báo phải đặt trong dấu nháy, ví dụ input("Nhập tuổi: ").
Lỗi thường gặp
- Quên dấu nháy ở dòng thông báo:
input(Nhập tên)gây lỗi. - Quên đổi kiểu khi cần tính toán (nhận chuỗi, cộng thành nối chuỗi).
- Viết
PrinthoặcInputchữ hoa: Python phân biệt hoa thường, phải viếtprint,input. - Gõ chữ vào khi chương trình dùng
int(input())sẽ báo lỗi giá trị.
Mẹo nhớ: input = “đưa vào” (bàn phím), print = “in ra” (màn hình).
Bài luyện tập
- Cho
a = input(),b = input(), người dùng nhập 5 và 7. Lệnhprint(a + b)in ra gì? Cònprint(int(a) + int(b))?
Đáp án: 57 và 12. - Viết chương trình nhập hai số nguyên và in tổng.
Đáp án:a = int(input("Nhập a: "))b = int(input("Nhập b: "))print("Tổng là", a + b) - Lệnh
print("Lop", 10, sep="")in ra gì?
Đáp án: Lop10 (sep rỗng nên không có khoảng trắng).
Câu hỏi thường gặp
Lệnh input có chức năng gì trong Python?
Lệnh input() nhận dữ liệu người dùng gõ từ bàn phím, hiển thị kèm dòng thông báo (nếu có) và gán giá trị nhận được cho một biến dưới dạng chuỗi.
Lệnh input() trả về kiểu dữ liệu gì?
Luôn là kiểu chuỗi (str). Muốn dùng như số phải đổi kiểu bằng int() hoặc float().
Lệnh print() có chức năng gì?
Print() đưa dữ liệu (chuỗi, số, giá trị biểu thức) ra thiết bị ra chuẩn, thông thường là màn hình.
Có bắt buộc phải có dòng thông báo trong input() không?
Không bắt buộc. Có thể viết input() trống, nhưng nên có thông báo để người dùng biết cần nhập gì.