D
DevStart

Nhập xuất dữ liệu trong Python với input và print

18 phútDễ

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

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ố.

python
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

python
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.

python
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:

python
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.

python
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ụ:

python
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()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.

python
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ì.
Ví dụ dễ nhầm:
python
a = input("Nhập số a: ")
b = input("Nhập số b: ")

print(a + b)

Nếu nhập 23, kết quả sẽ là 23, không phải 5.

Một lỗi khác cũng rất hay gặp:

python
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ết Nhậ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 ý:

python
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?

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.