Hàm input() là một trong những hàm cơ bản và quan trọng trong Python, được sử dụng để nhận dữ liệu từ người dùng. Trong bài viết này, chúng ta sẽ khám phá chi tiết về hàm input(), cách sử dụng, các ví dụ cụ thể và một số mẹo hữu ích khi làm việc với hàm này.

1. Cú pháp của hàm input() trong Python

Cú pháp cơ bản của hàm input() rất đơn giản:

input(prompt)

Trong đó: prompt (tùy chọn) là chuỗi thông báo hiển thị cho người dùng biết cần nhập gì. Nếu không có prompt, hàm input() sẽ không hiển thị gì và chỉ chờ người dùng nhập dữ liệu.

2. Ví dụ cơ bản về hàm input() trong Python

Dưới đây là một ví dụ cơ bản sử dụng hàm input():

name = input("Hãy nhập tên của bạn: ")
print(f"Xin chào, {name}!")

Khi bạn chạy đoạn mã này, Python sẽ hiển thị thông báo Hãy nhập tên của bạn: . Người dùng sẽ nhập tên của họ, và chương trình sẽ in ra lời chào kèm theo tên vừa nhập.

2.1. Chuyển đổi kiểu dữ liệu

Hàm input() luôn trả về dữ liệu dưới dạng chuỗi (string). Nếu bạn cần một kiểu dữ liệu khác như số nguyên (int) hoặc số thực (float), bạn phải chuyển đổi chuỗi đó bằng cách sử dụng các hàm chuyển đổi tương ứng.

Ví dụ chuyển đổi sang số nguyên

age = input("Hãy nhập tuổi của bạn: ")
age = int(age)  # Chuyển đổi từ chuỗi sang số nguyên
print(f"Năm nay bạn {age} tuổi.")

Ví dụ chuyển đổi sang số thực

height = input("Hãy nhập chiều cao của bạn (m): ")
height = float(height)  # Chuyển đổi từ chuỗi sang số thực
print(f"Chiều cao của bạn là {height} mét.")

 

 >>>>> Xem thêm 1 số bài viết tương tự tại đây:

 

2.2. Xử lý lỗi khi chuyển đổi kiểu dữ liệu

Khi chuyển đổi kiểu dữ liệu, có thể xảy ra lỗi nếu người dùng nhập dữ liệu không hợp lệ. Để tránh việc chương trình bị dừng đột ngột, bạn có thể sử dụng khối try...except để xử lý lỗi.

Ví dụ xử lý lỗi

try:
    age = int(input("Hãy nhập tuổi của bạn: "))
    print(f"Năm nay bạn {age} tuổi.")
except ValueError:
    print("Giá trị nhập vào không phải là số nguyên hợp lệ.")

2.3. Nhập nhiều giá trị cùng lúc

Bạn có thể sử dụng hàm split() để nhận nhiều giá trị từ người dùng trong một lần nhập.

Ví dụ nhập nhiều giá trị

data = input("Hãy nhập tên và tuổi của bạn, cách nhau bằng dấu phẩy: ")
name, age = data.split(",")  # Tách chuỗi thành danh sách các giá trị
age = int(age.strip())  # Loại bỏ khoảng trắng và chuyển đổi sang số nguyên
print(f"Xin chào, {name.strip()}! Năm nay bạn {age} tuổi.")

3. Mẹo và lưu ý khi sử dụng hàm input() trong Python

  • Sử dụng chuỗi thông báo rõ ràng: Hãy đảm bảo rằng chuỗi thông báo (prompt) mà bạn cung cấp đủ rõ ràng để người dùng hiểu họ cần phải nhập gì.
email = input("Hãy nhập địa chỉ email của bạn: ")
  • Xử lý đầu vào trống: Kiểm tra và xử lý trường hợp người dùng không nhập gì cả.
name = input("Hãy nhập tên của bạn: ")
if not name:
    print("Tên không được để trống!")
  • Xử lý khoảng trắng: Sử dụng các phương thức chuỗi như strip() để loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi nhập vào.
name = input("Hãy nhập tên của bạn: ").strip()

-Kiểm tra giá trị hợp lệ: Đảm bảo rằng dữ liệu người dùng nhập vào là hợp lệ trước khi sử dụng.

age = input("Hãy nhập tuổi của bạn: ").strip()
if age.isdigit():
    age = int(age)
    print(f"Năm nay bạn {age} tuổi.")
else:
    print("Vui lòng nhập một số nguyên hợp lệ.")
  • Sử dụng vòng lặp để yêu cầu nhập lại: Nếu bạn cần đảm bảo rằng người dùng nhập đúng dữ liệu, hãy sử dụng vòng lặp để yêu cầu nhập lại cho đến khi nhận được dữ liệu hợp lệ.
while True:
    age = input("Hãy nhập tuổi của bạn: ").strip()
    if age.isdigit():
        age = int(age)
        break
    else:
        print("Vui lòng nhập một số nguyên hợp lệ.")
print(f"Năm nay bạn {age} tuổi.")

4. Ví dụ ứng dụng thực tế hàm input() trong Python

Hãy cùng xem một ví dụ thực tế, trong đó chúng ta sẽ viết một chương trình đơn giản để tính chỉ số khối cơ thể (BMI). Chương trình sẽ yêu cầu người dùng nhập chiều cao và cân nặng, sau đó tính toán và hiển thị chỉ số BMI cùng với phân loại theo chỉ số đó.

def calculate_bmi(weight, height):
    """Tính toán chỉ số BMI dựa trên cân nặng và chiều cao."""
    bmi = weight / (height ** 2)
    return bmi
def get_bmi_category(bmi):
    """Phân loại chỉ số BMI."""
    if bmi < 18.5:
        return "Gầy"
    elif 18.5 <= bmi < 24.9:
        return "Bình thường"
    elif 25 <= bmi < 29.9:
        return "Thừa cân"
    else:
        return "Béo phì"
def main():
    while True:
        try:
            weight = float(input("Hãy nhập cân nặng của bạn (kg): "))
            height = float(input("Hãy nhập chiều cao của bạn (m): "))
            if weight <= 0 or height <= 0:
                print("Cân nặng và chiều cao phải lớn hơn 0. Vui lòng thử lại.")
                continue
            break
        except ValueError:
            print("Giá trị nhập vào không hợp lệ. Vui lòng nhập số.")
    bmi = calculate_bmi(weight, height)
    category = get_bmi_category(bmi)
    print(f"Chỉ số BMI của bạn là: {bmi:.2f}")
    print(f"Phân loại: {category}")
if __name__ == "__main__":
    main()

Giải thích chi tiết

Hàm calculate_bmi: Hàm này nhận vào cân nặng (kg) và chiều cao (m), sau đó tính toán chỉ số BMI bằng công thức: BMI = Cân nặng / (chiều cao)^2

Hàm get_bmi_category: Hàm này nhận vào chỉ số BMI và trả về phân loại tương ứng:

  • Dưới 18.5: Gầy
  • Từ 18.5 đến dưới 24.9: Bình thường
  • Từ 25 đến dưới 29.9: Thừa cân
  • Từ 30 trở lên: Béo phì
  1. Hàm main: Đây là hàm chính của chương trình:
  • Sử dụng vòng lặp while True để yêu cầu người dùng nhập cân nặng và chiều cao cho đến khi nhập đúng định dạng.
  • Kiểm tra và xử lý lỗi đầu vào bằng cách sử dụng try...except.
  • Tính toán chỉ số BMI và phân loại.
  • Hiển thị kết quả cho người dùng.

Tổng kết

Hàm input() là một công cụ mạnh mẽ và linh hoạt trong Python, giúp chúng ta dễ dàng hơn trong việc tương tác với người dùng và nhận dữ liệu đầu vào. Bằng cách hiểu rõ và sử dụng hiệu quả hàm input(), chúng ta có thể tạo ra các chương trình thân thiện và tương tác hơn. Hãy thử áp dụng những ví dụ trong bài viết này vào các dự án Python của mình và khám phá thêm nhiều cách sử dụng sáng tạo khác!


Stringee Communication APIs là giải pháp cung cấp các tính năng giao tiếp như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài CSKH cho phép tích hợp trực tiếp vào ứng dụng/website của doanh nghiệp nhanh chóng. Nhờ đó giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.

Bộ API giao tiếp của Stringee hiện đang được tin dùng bởi các doanh nghiệp ở mọi quy mô, lĩnh vực ngành nghề như TPBank, VOVBacsi24, VNDirect, Shinhan Finance, Ahamove, Logivan, Homedy, Adavigo, bTaskee…

Quý bạn đọc quan tâm xin mời đăng ký NHẬN TƯ VẤN TẠI ĐÂY: Banner bottom