Nhập dữ liệu với input()
Bài 6/6 · khoảng 7 phút đọc
Cho đến giờ, chương trình của ta luôn in ra cùng một kết quả. Để chương trình tương tác với người dùng, ta dùng hàm input(): nó chờ người dùng gõ một dòng rồi trả về dòng đó.
print("Bạn tên là gì?")ten = input()print("Chào", ten)Trên PyKid, dữ liệu gõ vào ô Dữ liệu nhập ở dưới ví dụ (mỗi dòng cho một lần gọi input()). Hãy thử đổi tên.
Có thể ghi lời nhắc ngay trong input:
ten = input("Nhập tên của bạn: ")print("Xin chào", ten)input() luôn trả về chuỗi
Dù người dùng gõ 15, Python nhận được chuỗi "15". Muốn tính toán phải đổi kiểu:
tuoi = int(input("Bạn bao nhiêu tuổi? "))print("Sang năm bạn", tuoi + 1, "tuổi")Nếu quên int(...), phép tuoi + 1 sẽ lỗi vì cộng chuỗi với số.
Một chương trình hoàn chỉnh
dai = int(input("Chiều dài: "))rong = int(input("Chiều rộng: "))print("Chu vi:", (dai + rong) * 2)print("Diện tích:", dai * rong)Mô hình quen thuộc của rất nhiều chương trình: nhập → xử lý → xuất.
Ghi nhớ:
input()nhận một dòng từ người dùng và luôn cho ra chuỗi. Dùngint(input())hoặcfloat(input())để nhận số.
Vì sao `x = input()` rồi `print(x + 1)` bị lỗi?
Vì x là chuỗi, mà chuỗi không cộng được với số 1. Cần x = int(input()).