Nhập xuất dữ liệu trong Python là gì?
Nhập xuất dữ liệu trong Python là cách chương trình nhận thông tin từ người dùng bằng input() và hiển thị kết quả ra màn hình bằng print(). Đây là bước nền tảng để bạn viết chương trình có tương tác thật, thay vì chỉ chạy vài dòng code cố định rồi kết thúc.
Trong các bài trước, bạn đã làm việc với biến, toán tử, điều kiện và vòng lặp. Nhưng nếu chương trình không nhận dữ liệu mới từ bên ngoài thì nó vẫn còn khá cứng. Khi học nhập dữ liệu từ bàn phím Python, bạn bắt đầu tạo được máy tính đơn giản, ứng dụng chào hỏi, chương trình tính điểm hoặc menu nhỏ trong terminal.
Điểm quan trọng nhất cần nhớ là input() luôn trả về chuỗi. Rất nhiều lỗi của người mới xuất phát từ việc quên mất chi tiết nhỏ này.
Cú pháp cơ bản của input và print trong Python
ten = input("Nhập tên của bạn: ")
print("Xin chào", ten)Ở ví dụ trên:
input("Nhập tên của bạn: ")hiển thị lời nhắc để người dùng nhập dữ liệu- giá trị nhập vào được gán cho biến
ten print()dùng để in kết quả ra màn hình
Bạn có thể chạy chương trình và nhập
Lan. Kết quả sẽ là Xin chào Lan.
input() luôn trả về dữ liệu dạng chuỗi, kể cả khi người dùng nhập số.
tuoi = input("Nhập tuổi của bạn: ")
print(type(tuoi))Nếu người dùng gõ 20, kiểu dữ liệu của tuoi vẫn là str, không phải int. Vì vậy, nếu muốn tính toán với số, bạn cần ép kiểu trước khi cộng, trừ, nhân hoặc chia.
Cách dùng input trong Python với ép kiểu dữ liệu
so_a = int(input("Nhập số a: "))
so_b = int(input("Nhập số b: "))
print("Tổng là:", so_a + so_b)
Đây là cách ép kiểu với input Python được dùng rất thường xuyên. Luồng xử lý là nhận dữ liệu bằng input(), chuyển từ chuỗi sang kiểu số bằng int() hoặc float(), rồi mới dùng giá trị đó trong phép tính.
Bạn cũng có thể dùng float() nếu dữ liệu là số thực.
chieu_cao = float(input("Nhập chiều cao: "))
print(chieu_cao)Nếu người dùng nhập 1.68, biến chieu_cao sẽ có kiểu số thực. Đây là lựa chọn phù hợp khi làm việc với chiều cao, cân nặng, giá tiền hoặc điểm trung bình.
Một ví dụ thực tế hơn:
gia = float(input("Nhập giá sản phẩm: "))
so_luong = int(input("Nhập số lượng: "))
tong_tien = gia * so_luong
print("Tổng tiền:", tong_tien)
Nếu không ép kiểu, phép nhân ở trên sẽ không hoạt động như bạn mong đợi.
Cách in dữ liệu đẹp hơn bằng f-string
f-string giúp định dạng chuỗi Python theo cách gọn và dễ đọc hơn rất nhiều. Thay vì ghép chuỗi bằng nhiều dấu phẩy hoặc toán tử +, bạn có thể chèn biến trực tiếp vào câu.
ten = "Minh"
tuoi = 20
print(f"Bạn tên là {ten} và {tuoi} tuổi")
Với người mới, f-string thường là cách dễ dùng nhất khi cần ghép văn bản với biến. Nó đặc biệt hữu ích khi bạn muốn in thông báo rõ ràng cho người dùng.
Ví dụ:
ten = input("Nhập tên: ")
diem = float(input("Nhập điểm của bạn: "))
print(f"Học viên {ten} có điểm {diem}")
Khi chương trình dài hơn, f-string giúp code dễ đọc hơn hẳn so với kiểu ghép chuỗi thủ công.
Cách kết hợp input, print và điều kiện
Sau khi hiểu input() và print(), bạn nên luyện kết hợp chúng với if để tạo luồng tương tác cơ bản.
tuoi = int(input("Nhập tuổi của bạn: "))
if tuoi >= 18:
print("Bạn đã đủ 18 tuổi")
else:
print("Bạn chưa đủ 18 tuổi")
Đây là dạng bài rất phổ biến cho người mới vì nó gom nhiều kiến thức vào một chỗ:
- nhận dữ liệu đầu vào
- ép kiểu từ chuỗi sang số
- kiểm tra điều kiện
- in kết quả ra màn hình
Nếu bạn làm tốt phần này, việc viết chương trình menu hoặc mini project về sau sẽ dễ hơn nhiều.
Những lỗi thường gặp khi nhập xuất dữ liệu trong Python
- Quên ép kiểu nên cộng hai chuỗi thay vì hai số.
- Nhập chữ nhưng lại ép sang
int, gây lỗi. - Dùng quá nhiều phép ghép chuỗi khiến code khó đọc.
- Viết lời nhắc nhập quá mơ hồ khiến người dùng không biết phải nhập gì.
a = input("Nhập số a: ")
b = input("Nhập số b: ")
print(a + b)
Nếu nhập 2 và 3, kết quả sẽ là 23, không phải 5.
Một lỗi khác cũng rất hay gặp:
tuoi = int(input("Nhập tuổi: "))Nếu người dùng nhập hai mươi, chương trình sẽ báo ValueError. Điều đó không sai, nhưng bạn cần hiểu nguyên nhân để xử lý tốt hơn ở các bài sau về try except.
Để tránh lỗi, bạn nên tập các thói quen sau:
- luôn tự hỏi dữ liệu nhận về đang có kiểu gì
- dùng
int()cho số nguyên,float()cho số thực - viết lời nhắc rõ ràng như
Nhập tuổi của bạn:thay vì chỉ viếtNhập: - kiểm tra lại kết quả bằng
print(type(bien))nếu đang bị rối
Bài tập thực hành
Viết chương trình:
- Nhập họ tên người dùng
- Nhập tuổi
- In ra câu giới thiệu bằng f-string
- In thêm thông báo người dùng là học sinh hay người lớn nếu tuổi nhỏ hơn hoặc lớn hơn hoặc bằng 18
Gợi ý:
ten = input("Nhập tên: ")
tuoi = int(input("Nhập tuổi: "))
print(f"Tôi tên là {ten}, năm nay {tuoi} tuổi")
Bạn có thể tự mở rộng bài tập bằng cách hỏi thêm thành phố, sở thích hoặc điểm trung bình rồi in thành một đoạn giới thiệu hoàn chỉnh.
Mẹo luyện tập nhanh với input output Python
Nếu bạn mới học, hãy tự viết 3 chương trình thật ngắn:
- chương trình hỏi tên và chào người dùng
- chương trình nhập 2 số rồi in tổng
- chương trình nhập điểm và in kết quả đậu hoặc rớt
Ba bài này tưởng đơn giản nhưng giúp bạn quen với toàn bộ luồng nhập dữ liệu từ bàn phím Python và in ra màn hình Python. Khi làm đi làm lại, bạn sẽ không còn nhầm giữa chuỗi và số nữa.
Câu hỏi thường gặp về nhập xuất dữ liệu trong Python
Vì sao input() trong Python luôn trả về chuỗi?
Vì input() được thiết kế để nhận dữ liệu văn bản từ bàn phím. Sau đó, bạn tự quyết định ép kiểu sang int, float hoặc giữ nguyên dạng chuỗi tùy mục đích sử dụng.
Khi nào nên dùng f-string?
Hãy dùng f-string khi bạn cần chèn biến vào trong câu văn theo cách gọn, rõ và dễ đọc. Đây là cách rất phổ biến trong code Python hiện đại và thường dễ bảo trì hơn cách ghép chuỗi thủ công.
print() có thể in nhiều giá trị cùng lúc không?
Có. Bạn có thể viết print("Tên:", ten, "Tuổi:", tuoi). Tuy nhiên, khi câu in dài hơn hoặc cần định dạng đẹp, f-string thường dễ đọc hơn.
Làm sao biết mình có cần ép kiểu hay không?
Nếu bạn định tính toán với dữ liệu nhập vào, gần như chắc chắn bạn phải ép kiểu. Nếu chỉ dùng để chào hỏi, hiển thị thông tin hoặc nối vào câu chữ, bạn có thể giữ nguyên dạng chuỗi.
Tóm tắt
Bạn đã biết cách nhập xuất dữ liệu trong Python bằng input(), print(), ép kiểu và f-string. Đây là nền tảng để chương trình bắt đầu tương tác với người dùng thay vì chỉ chạy dữ liệu cố định. Ở bài tiếp theo, chúng ta sẽ học module trong Python để tách code thành nhiều file gọn gàng và tái sử dụng dễ hơn.
Bài viết liên quan

Next.js là gì? Tại sao nên dùng Next.js để làm web?
Giới thiệu Next.js — framework React phổ biến nhất. Tìm hiểu ưu điểm, tính năng nổi bật và khi nào nên dùng.

Con bug đầu tiên trong cuộc đời lập trình viên
Câu chuyện hài hước về lần đầu gặp bug và mất 3 tiếng để tìm ra nguyên nhân chỉ là... thiếu dấu chấm phẩy.

Hướng dẫn cài đặt Python chi tiết trên Windows, macOS, Linux
Hướng dẫn từng bước cài đặt Python trên mọi hệ điều hành. Kèm cách kiểm tra và chạy chương trình đầu tiên.