Nhập Xuất Dữ Liệu Và Định Dạng Chuỗi Nâng Cao Trong Python

Trong lập trình Python, việc tương tác với người dùng qua thao tác nhập dữ liệu và hiển thị kết quả là một phần vô cùng quan trọng. Bài viết này sẽ hướng dẫn bạn cách sử dụng hàm input() để nhận dữ liệu, hàm print() để xuất dữ liệu và cách làm chủ kỹ thuật định dạng chuỗi nâng cao với f-string.

A diagram illustrating a Python 3.6 program shows functions `main()` and `times2(x)` with flow lines, code snippets, and a print output demonstrating the result of calling `main()`, which outputs `x = 5` and `result = 10`.

Khái niệm

Python cung cấp các công cụ tích hợp sẵn để tương tác nhập xuất cơ bản và xử lý chuỗi:

  • Hàm input(): Được sử dụng để tạm dừng chương trình và nhận dữ liệu đầu vào từ người dùng dưới dạng một chuỗi (str).
  • Hàm print(): Được sử dụng để xuất dữ liệu, giá trị của biến hoặc biểu thức ra màn hình hiển thị.
  • F-string (Formatted String Literals): Kỹ thuật định dạng chuỗi xuất hiện từ Python 3.6, cho phép chèn trực tiếp các biến, biểu thức hoặc phương thức vào trong chuỗi thông qua cặp dấu ngoặc nhọn {}. F-string giúp mã nguồn ngắn gọn, dễ đọc và đạt hiệu năng cao hơn so với toán tử % hay phương thức str.format().

Cú pháp

Cú pháp cơ bản của các câu lệnh nhập xuất và f-string trong Python:

# Nhận dữ liệu đầu vào
bien_luu_tru = input("Dòng thông báo: ")

# Khai báo f-string cơ bản
f"Chuỗi ký tự {bien_hoac_bieu_thuc}"

# Định dạng số với f-string (ví dụ lấy 2 chữ số thập phân)
f"{so_thuc:.2f}"

# Căn chỉnh và định dạng bảng với f-string
f"{chuoi:10} ==> {so_nguyen:10d}"

# Cú pháp tự kiểm tra (Self-documenting) cho mục đích debugging
f"{bien=}"

Ví dụ minh họa

A screenshot displays a Python f-string cheat sheet with examples of formatting syntax, including format specifier, conversion, and self-documenting features, accompanied by corresponding code snippets and output examples.

Dưới đây là các ví dụ minh họa từng bước từ nhận dữ liệu người dùng đến định dạng hiển thị nâng cao:

# 1. Nhận dữ liệu người dùng và tính toán
ten = input("Nhập tên của bạn: ")
nam_sinh = int(input("Nhập năm sinh: "))
tuoi = 2026 - nam_sinh

print(f"Chào {ten}, năm nay bạn {tuoi} tuổi.")

# 2. Định dạng số thực và căn chỉnh cột
import math

pi_val = math.pi
print(f"Giá trị của Pi (làm tròn 3 chữ số thập phân): {pi_val:.3f}")

# Tạo bảng hiển thị căn chỉnh độ rộng 10 ký tự
danh_sach = {"An": 95, "Bình": 100, "Cường": 85}
for ten_nv, diem in danh_sach.items():
    print(f"{ten_nv:10} ==> {diem:10d}")

# 3. Sử dụng biểu thức và cú pháp debugging (=)
bugs = "roaches"
count = 13
print(f"Debugging: {bugs=} {count=}")
print(f"Kết quả phép tính: {Physics + Chemistry + Biology}")

Lỗi thường gặp

Trong quá trình thao tác với input() và f-string, người mới bắt đầu thường gặp phải các lỗi sau:

  • Lỗi SyntaxError (Thiếu dấu đóng ngoặc }): Mỗi dấu mở ngoặc nhọn { trong f-string bắt buộc phải có dấu đóng ngoặc } tương ứng. Ví dụ: f"Tên: {name" sẽ gây ra SyntaxError: f-string: expecting '}'.
  • Lỗi NameError (Sử dụng biến chưa định nghĩa): Nhúng một biến chưa được khai báo trước đó vào trong ngoặc nhọn của f-string. Ví dụ: gọi f"{age}" khi chưa gán giá trị cho age sẽ báo lỗi NameError: name 'age' is not defined.
  • Lỗi TypeError khi làm việc với input(): Mặc định hàm input() luôn trả về kiểu dữ liệu chuỗi (str). Nếu thực hiện phép toán cộng/trừ trực tiếp với kết quả của input() mà không ép kiểu qua int() hoặc float(), chương trình sẽ báo lỗi.

Bài tập/thực hành

The image shows a Python code snippet demonstrating the use of f-strings for formatting and printing names and ages from a list, utilizing the `zip()` function in a for-loop.

Hãy viết một chương trình Python thực hiện các yêu cầu sau:

  1. Yêu cầu người dùng nhập tên sản phẩm, số lượng (kiểu số nguyên) và đơn giá (kiểu số thực).
  2. Tính tổng tiền chưa thuế và tổng tiền sau thuế (thuế VAT 10%).
  3. Sử dụng f-string để in hóa đơn ra màn hình với định dạng: tên sản phẩm được căn trái, giá trị tiền làm tròn 2 chữ số thập phân.

Tổng kết

Nhập xuất dữ liệu với input(), print() và định dạng chuỗi bằng f-string là những kỹ năng nền tảng quan trọng trong Python. Việc nắm vững cú pháp định dạng giúp mã nguồn của bạn trở nên sạch sẽ, chuyên nghiệp và dễ bảo trì hơn khi hiển thị dữ liệu ra màn hình.


Nguồn tham khảo

Từ khóa: f-string trong python, nhập xuất dữ liệu python, hàm input trong python, định dạng chuỗi python, hàm print python, cách sử dụng f-string trong python, định dạng chuỗi nâng cao python, nhận dữ liệu người dùng qua input python


📚 Chuỗi bài: Lập Trình Python Cơ Bản Cho Người Mới Bắt Đầu

Chuỗi bài viết từng bước hướng dẫn lộ trình học lập trình Python từ con số 0, giúp người mới nhanh chóng nắm vững cú pháp, tư duy tư duy lập trình cơ bản và ứng dụng thực tế.

  1. 1. Cài Đặt Môi Trường Python Và Viết Chương Trình Đầu Tiên Với VS Code
  2. 2. Biến và các kiểu dữ liệu cơ bản trong Python
  3. 3. Các phép toán và toán tử trong Python
  4. 4. Nhập Xuất Dữ Liệu Và Định Dạng Chuỗi Nâng Cao Trong Python ← Bạn đang đọc
  5. 5. Cấu Trúc Điều Kiện Và Rẽ Nhánh Với If-Elif-Else Trong Python
  6. 6. Vòng Lặp For Và While Trong Python: Cú Pháp Và Cách Sử Dụng
  7. 7. Làm chủ Danh sách (List) và Tuple trong Python
  8. 8. Quản Lý Dữ Liệu Với Dictionary Và Set Trong Python
  9. 9. Xây Dựng và Sử Dụng Hàm (Function) Trong Python
  10. 10. Lập Trình Python Cơ Bản - Bài 10: Xử Lý Ngoại Lệ Và Đọc Ghi Tệp Tin

← Bài trước: Các phép toán và toán tử trong PythonBài tiếp theo: Cấu Trúc Điều Kiện Và Rẽ Nhánh Với If-Elif-Else Trong Python →

Nhận xét