Chấp nhận đầu vào từ người dùng là một cách để tạo các chương trình và ứng dụng năng động hơn. Để làm như vậy trong Python, các nhà phát triển phải sử dụng hàm input[]. Trong hướng dẫn Python này, chúng ta sẽ thảo luận về cách sử dụng hàm input[], tìm hiểu về các tham số của nó và cách xác thực các kiểu dữ liệu đầu vào của người dùng
Nhiều chương trình dựa vào đầu vào của người dùng để hoạt động. Điều này có thể bao gồm đầu vào từ bàn phím, truy vấn cơ sở dữ liệu hoặc tệp. Đầu vào của người dùng có thể đơn giản như địa chỉ đường phố hoặc tên người dùng hoặc thứ gì đó phức tạp hơn một chút, chẳng hạn như mật khẩu hoặc đoạn dữ liệu. Nếu bạn nghĩ về nó, một ứng dụng như Microsoft Word phải tiếp nhận, lưu trữ và phản ứng với lượng đầu vào gần như vô hạn của người dùng
Cuối cùng, đầu vào của người dùng trong ứng dụng Python có thể được sử dụng cho một sự kiện đơn lẻ, để kích hoạt một loạt sự kiện, được lưu trữ trong một thời gian giới hạn hoặc cơ sở vĩnh viễn và được lưu trữ trong các tệp cục bộ, được truyền qua Internet hoặc mạng,
Dù mục đích của nó là gì và nó được lưu trữ theo cách nào, vào cuối ngày, trong Python, nhà phát triển dựa vào hàm input[] để chấp nhận đầu vào của người dùng đó
Cách sử dụng hàm input[] trong Python
Để chấp nhận đầu vào của người dùng trong Python, chúng tôi sử dụng hàm input[]. Dưới đây là một ví dụ về cách chấp nhận đầu vào của người dùng trong Python
# The easiest way to accept user input in Python name = input[] print[name]
Đoạn mã trên là phương pháp dễ dàng nhất để chấp nhận đầu vào của người dùng từ người dùng. Chúng tôi bắt đầu bằng cách tạo một biến, sau đó sử dụng hàm input[] để nhắc người dùng cung cấp thông tin. Chương trình sẽ đợi cho đến khi một cái gì đó được gõ vào bàn phím, sau đó tiếp tục lại khi người dùng nhấn phím Enter
Khi người dùng đã nhập một số dữ liệu, chương trình của chúng tôi sẽ in ra giá trị của biến tên
Vấn đề với ví dụ cụ thể này là, một khi nó được chạy, người dùng thực sự không có cách nào để biết chương trình đang mong đợi điều gì ở họ – về bản chất, nó thiếu dấu nhắc. Để khắc phục điều này, chúng tôi có một số tùy chọn. Đầu tiên, chúng ta có thể sử dụng một câu lệnh in đơn giản trước khi yêu cầu đầu vào để cho người dùng biết loại thông tin cần nhập
print["Enter your first name: "] name = input[] print["Nice to meet you", name]
Lần này, chúng tôi in một số văn bản lên màn hình của người dùng, cho họ biết rằng chúng tôi muốn họ nhập tên của họ. Sau đó, chương trình tạm dừng và sẽ không tiếp tục lại cho đến khi người dùng nhập một số dữ liệu và nhấn nút Enter – giống như trước đây. Cuối cùng, chúng tôi in đầu vào của người dùng lên màn hình. Nếu bạn chạy chương trình này và nhập một tên, chẳng hạn như James, bạn sẽ nhận được kết quả sau
Enter your first name: James Nice to meet you James
Tham số hàm input[]
Một cách đơn giản hơn để đạt được hiệu ứng tương tự như ví dụ trước của chúng ta là chỉ cần sử dụng tham số hoặc đối số tùy chọn của hàm input[]. Đây là giao diện của mã Python
name = input["Enter your first name"] print["Nice to meet you", name]
Phiên bản mã này của chúng tôi tạo ra kết quả giống như ví dụ trước của chúng tôi nhưng yêu cầu viết mã ít hơn và hiệu quả hơn. Nó cũng ít bị lỗi hơn và cung cấp khả năng đọc tốt hơn
Đánh máy và chuyển đổi input[] thành Int
Một cạm bẫy có thể xảy ra mà các nhà phát triển Python có thể gặp phải khi chấp nhận đầu vào của người dùng là hàm input[] luôn trả về một chuỗi, bất kể người dùng nhập gì. Mặc dù điều này tốt trong một số trường hợp, nhưng trong các trường hợp khác, chương trình của bạn có thể yêu cầu các giá trị số nguyên hoặc dấu phẩy động. Để tránh vấn đề này, tất cả những gì bạn cần làm là sử dụng typecasting. Typecasting là một phương pháp bạn có thể sử dụng để chuyển đổi một chuỗi [trong trường hợp này] sang một kiểu dữ liệu khác
Để chuyển đổi đầu vào của người dùng dưới dạng số nguyên, bạn có thể sử dụng hàm tích hợp int[]. Dưới đây là một số mã ví dụ cho thấy cách đánh máy trong Python
age = int[input['Enter your age: ']] print["You are", age, "years old"] print[10 * age]
Chạy đoạn mã trên để xem nó hoạt động như thế nào. Chúng tôi đã sử dụng hai câu lệnh in khác nhau để chỉ ra rằng văn bản được nhập sau dấu nhắc thực sự đã được chuyển đổi thành kiểu dữ liệu int. Một điều cần lưu ý. nếu người dùng nhập bất kỳ thứ gì khác ngoài giá trị số, sẽ xảy ra lỗi do bạn không thể chuyển đổi chuỗi thành số nguyên. Do đó, hãy luôn đảm bảo rằng bạn tính đến khả năng này trong mã của mình
Chuyển đổi đầu vào [] thành giá trị dấu phẩy động
Giống như bạn có thể chuyển đổi đầu vào của người dùng thành giá trị số nguyên, bạn cũng có thể chuyển đổi nó thành số dấu phẩy động hoặc giá trị thập phân. Đoạn mã sau chỉ cho bạn cách chuyển đổi đầu vào của người dùng từ hàm input[] thành float trong Python
cost = float[input["Enter the item cost:"]] print["You entered the cost of:",cost]
Nguyên tắc đằng sau đoạn mã này hoạt động tương tự như khi chúng ta đánh máy thành một số nguyên, chỉ ở đây chúng ta đang chuyển đổi đầu vào của người dùng thành một số float. Một vài điều nhanh chóng cần lưu ý ở đây. Đầu tiên, nếu người dùng nhập bất kỳ thứ gì khác ngoài giá trị số, sẽ xảy ra lỗi. Vì vậy, một lần nữa, hãy đảm bảo rằng bạn tính đến khả năng này trong mã của mình
Một điều khác cần lưu ý là chương trình này chấp nhận các giá trị số nguyên - tức là các số nguyên - làm đầu vào. Tuy nhiên, nó xuất ra các số nguyên đó dưới dạng số dấu phẩy động. Ví dụ: nếu bạn nhập số 1 khi được nhắc trong phiên bản chương trình này, kết quả sẽ là
You entered the cost of 1.0
Chuyển đổi đầu vào của người dùng thành chuỗi
Mặc dù thông tin đầu vào mà bạn chấp nhận về mặt kỹ thuật tự động là một chuỗi, nhưng bạn có thể – đối với mọi ý định và mục đích – vẫn chuyển đổi nó thành một chuỗi. Công bằng mà nói, tôi không thể nghĩ ra lý do mà bạn muốn, nhưng chỉ trong trường hợp bạn cần, chỉ cần biết rằng có thể sử dụng từ khóa str. Đây là cách nó sẽ trông như thế nào trong mã
first = str[input["Enter Your First Name: "]] last = str[input["Enter Your Last Name: "]] print["Your Full Name Is: " + first + " " + last]
Chạy mã này và nhập các giá trị James và Payne sẽ dẫn đến đầu ra. >
________số 8_______Chấp nhận đầu vào của người dùng trong các phiên bản cũ hơn của Python
Nếu bạn không sử dụng Python 3. x, bạn sẽ cần quay lại sử dụng raw_input[]. Điều này đúng với Python 2. phiên bản x. Việc sử dụng nó giống như input[] thông thường