Cách cung cấp cho người dùng lựa chọn trong python
Trong hầu hết các trường hợp, đầu vào này bắt nguồn từ bàn phím, các dạng khác như nhấp chuột, track-pad, cảm biến, v.v. cũng có thể Như mọi khi, Python cung cấp một khung đơn giản để nhận đầu vào của người dùng dưới dạng hàm Enter name: Chaitanya Baweja 2
Trong hướng dẫn này, chúng tôi sẽ trình bày chi tiết về hàm Enter name: Chaitanya Baweja 2 bằng nhiều trường hợp sử dụng khác nhau. Chúng ta sẽ thảo luận về một số dạng đầu vào có thể tồn tại và cách phân tích cú pháp đầu vào này thành định dạng được yêu cầu với sự trợ giúp của các đoạn mãNguồn. Giphycú pháp
Nơi đây, Khi hàm Enter name: Chaitanya Baweja 2 được gọi, luồng chương trình sẽ tạm dừng cho đến khi người dùng nhập một số đầu vào. Sau đó, người dùng thêm một số thông tin và nhấn phím Enter name: Chaitanya Baweja 5. Hàm nhập trả về chương trình với chuỗi đã nhậpentered_value = input('Enter some value: ') đầu ra Nguồn. Tác giảKiểu đầu vào Hàm đầu vào chuyển đổi tất cả thông tin mà nó nhận được sang định dạng chuỗi. Hãy để chúng tôi có một cái nhìn đầu ra Enter name: Chaitanya Baweja Chúng ta đã sử dụng hàm type để kiểm tra kiểu dữ liệu của đối tượng. Như bạn có thể thấy ở trên, việc chúng ta nhập số hay chuỗi ký tự không quan trọng. Cả hai đều trả về dưới dạng đối tượng chuỗi Chấp nhận đầu vào số nguyên từ người dùng Vì hàm Enter name: Chaitanya Baweja 2 trả về mọi thứ dưới dạng chuỗi, nên chúng ta cần thực hiện một số chuyển đổi kiểu rõ ràng để chấp nhận số nguyên. Ở đây, chúng ta sẽ sử dụng hàm Enter name: Chaitanya Baweja 7đầu ra ________số 8_______
Chấp nhận đầu vào float từ người dùng Tương tự, chúng ta có thể lấy giá trị float bằng cách sử dụng hàm Enter name: Chaitanya Baweja 9đầu ra Enter value: 5.6 Xử lý ngoại lệ đầu vào của người dùng Một vấn đề phổ biến với chuyển đổi kiểu là ngoại lệ
Ví dụ: người dùng nhập một chuỗi ngẫu nhiên cho tuổi num = int(input('Enter age: ')) Ở đây, hàm Enter first num: 10 0 mong đợi một giá trị số nguyên được bao bọc bên trong một chuỗi. Bất kỳ loại giá trị nào khác sẽ dẫn đến lỗi. Hãy xem điều gì sẽ xảy ra khi chúng ta nhập Enter first num: 10 1 làm đầu vàođầu ra Enter age: nope--------------------------------------------------------- Để đảm bảo rằng người dùng nhập thông tin hợp lệ, chúng tôi cần xử lý nhiều lỗi như vậy thường xảy ra với đầu vào của người dùng. Chúng tôi sẽ sử dụng Xử lý ngoại lệ Python cho mục đích này. Hãy xem Một lần nữa nếu chúng ta nhập Enter first num: 10 1 làm đầu vàoEnter a number: nope Trong đoạn mã trên, nếu người dùng nhập đầu vào không phải số nguyên, mã sẽ đưa ra một ngoại lệ. Ngoại lệ này bị bắt bởi câu lệnh except nơi chúng tôi in. Enter first num: 10 3Do khối thử ngoại trừ này, chương trình của chúng tôi sẽ không gặp sự cố khi người dùng nhập sai Nguồn. GiphyChúng ta có thể sử dụng khối ngoại lệ cùng với một vòng lặp. Do đó, người dùng sẽ được nhắc đi nhắc lại cho đến khi họ cung cấp thông tin đầu vào hợp lệ Nguồn. Tác giảNhiều giá trị đầu vào trong một dòng Chúng ta cũng có thể yêu cầu nhiều giá trị trực tiếp trên một dòng chỉ với một lần gọi hàm Enter name: Chaitanya Baweja 2. Ví dụ: hãy lấy một số thông tin về sinh viên từ người dùng và lưu trữ thông tin đó trong các biến khác nhauđầu ra Enter student's name, age and score separated by space:Chaitanya 20 100 Ở đây, chúng tôi đã tách chuỗi đầu vào bằng khoảng trắng bằng cách sử dụng phương thức Enter first num: 10 5Lấy danh sách các số làm đầu vào Nhưng điều gì sẽ xảy ra khi bạn không biết về số lượng giá trị đầu vào? Giả sử bạn cần nhập một danh sách các số và trả về tổng của chúng. Bạn không biết số phần tử trong danh sách đó. Làm thế nào để chúng tôi nhập danh sách này? Chúng tôi sử dụng cả chức năng tách và bản đồ. Phương thức Enter first num: 10 6 sẽ chia chuỗi đã nhập thành một danh sách các chuỗi. Sau đó, hàm Enter first num: 10 7 sẽ thực hiện thao tác Enter first num: 10 8 trên tất cả các phần tử danh sáchđầu ra Enter a list of numbers separated by space: 10 20 30 40 50 60 Trong đoạn mã trên
Đầu vào nhiều dòng từ người dùng Hàm Enter name: Chaitanya Baweja 2 trả về bất cứ khi nào nó gặp một ký tự xuống dòng (khi người dùng nhấn phím Enter name: Chaitanya Baweja 5). Do đó, nếu bạn cố gắng gửi thông tin nhiều dòng, thì Enter name: Chaitanya Baweja 2 sẽ chỉ trả về dòng đầu tiênĐể khắc phục điều này, chúng ta có thể sử dụng vòng lặp for. Chúng tôi nhận được một dòng đầu vào cho mỗi lần lặp lại và dừng lại khi chúng tôi nhận được một dòng trống ('Nhấn Enter trên một dòng trống'). Chúng tôi kết hợp tất cả các dòng này trong một danh sách đầu ra Phần kết luận Python cung cấp một khung đơn giản để nhận đầu vào của người dùng. Hàm đầu vào đọc một dòng từ bàn điều khiển, chuyển đổi nó thành một chuỗi và trả về nó Hàm đầu vào chuyển đổi tất cả thông tin mà nó nhận được sang định dạng chuỗi. Chúng tôi sử dụng chuyển đổi kiểu để chuyển đổi đầu vào thành định dạng được yêu cầu Các trường hợp ngoại lệ xảy ra do đầu vào không hợp lệ có thể được quản lý bằng cách sử dụng khối thử-ngoại trừ. Chức năng split và map giúp nhập nhiều giá trị trên cùng một dòng Chaitanya Baweja mong muốn giải quyết các vấn đề trong thế giới thực bằng các giải pháp kỹ thuật. Theo dõi hành trình của anh ấy trên Twitter và Linkedin |