👂 Nhận Thông Tin - Dạy Python Lắng Nghe
🎧 Ví Dụ Dễ Hiểu
Giống như dạy con rắn pet không chỉ biết "nói" mà còn biết "lắng nghe" và phản hồi với những gì bạn nói. Python sẽ học cách đợi, nghe, hiểu và trả lời người dùng một cách thông minh!
🤔 Tại Sao Python Cần Biết Lắng Nghe?
Cho đến giờ, Python chỉ biết "nói" (print). Giờ chúng ta sẽ dạy nó:
- 👂 Lắng nghe người dùng gõ thông tin
- 🤝 Tương tác hai chiều với con người
- 🎯 Phản hồi dựa trên input nhận được
- 🔄 Tạo chương trình động thay vì chỉ hiển thị text cố định
🎯 Hàm input() Cơ Bản
📝 Cú Pháp Đơn Giản
# Cách cơ bản nhất
name = input("Tên bạn là gì? ")
print(f"Xin chào {name}!")
Kết quả:
Tên bạn là gì? Minh
Xin chào Minh!
🔍 input() Hoạt Động Như Thế Nào?
# Bước 1: Python hiển thị câu hỏi
# Bước 2: Python dừng lại và đợi
# Bước 3: Người dùng gõ và nhấn Enter
# Bước 4: Python lưu thông tin vào biến
# Bước 5: Tiếp tục chạy chương trình
name = input("Nhập tên: ") # Python đợi ở đây
print(f"Tên đã nhận: {name}") # Chạy sau khi có input
💡 Điều Quan Trọng
input() luôn trả về STRING (chuỗi text), dù người dùng nhập số hay chữ. Nếu cần số, phải convert!
🔢 Nhận Các Loại Dữ Liệu Khác Nhau
📝 Nhận Text (String)
# Thông tin cá nhân
full_name = input("Họ tên đầy đủ: ")
hometown = input("Quê quán: ")
hobby = input("Sở thích: ")
print(f"\n🎭 THÔNG TIN CỦA BẠN:")
print(f"👤 Tên: {full_name}")
print(f"🏠 Quê: {hometown}")
print(f"❤️ Thích: {hobby}")
🔢 Nhận Số (Numbers)
# ❌ Sai - input() trả về string
age = input("Tuổi của bạn: ")
next_year = age + 1 # Lỗi! Không thể cộng string với số
# ✅ Đúng - Convert string thành int
age = int(input("Tuổi của bạn: "))
next_year = age + 1
print(f"Năm sau bạn sẽ {next_year} tuổi")
# Số thập phân
height = float(input("Chiều cao (m): "))
weight = float(input("Cân nặng (kg): "))
bmi = weight / (height ** 2)
print(f"BMI của bạn: {bmi:.2f}")
✅ Nhận True/False (Boolean)
# Cách 1: So sánh string
likes_python = input("Bạn có thích học Python không? (có/không): ")
if likes_python.lower() == "có":
print("🎉 Tuyệt vời! Python sẽ giúp bạn rất nhiều!")
else:
print("😊 Không sao, có thể bạn sẽ thích sau!")
# Cách 2: Chuyển thành boolean
has_girlfriend = input("Bạn có bạn gái/trai không? (y/n): ").lower()
is_in_relationship = has_girlfriend in ['y', 'yes', 'có', 'có chứ']
print(f"Tình trạng: {'Đã có người yêu' if is_in_relationship else 'Độc thân'}")
🛡️ Validation - Kiểm Tra Dữ Liệu
🔍 Kiểm Tra Số Hợp Lệ
🔍 Kiểm Tra Số Hợp Lệ
# Cách 1: Sử dụng try-except (Khuyến nghị)
def input_age():
while True:
try:
age = int(input("Nhập tuổi của bạn: "))
if age < 0:
print("❌ Tuổi không thể âm! Thử lại.")
continue
elif age > 150:
print("❌ Tuổi quá lớn! Thử lại.")
continue
return age
except ValueError:
print("❌ Vui lòng nhập số nguyên! Thử lại.")
# Sử dụng
age = input_age()
print(f"✅ Tuổi hợp lệ: {age}")