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
Enter age: 20
data_type of name:
data_type of age:
2Hà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ó
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
Enter age: 20
data_type of name:
data_type of age:
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
đầu vào [[dấu nhắc]]
Nơi đây,
lời nhắc. một đối số chuỗi tùy chọn, được sử dụng để hiển thị thông báo cho người dùng. Ví dụ. 'Nhập tên. ’
Khi hàm
Enter name: Chaitanya Baweja
Enter age: 20
data_type of name:
data_type of age:
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
Enter age: 20
data_type of name:
data_type of age:
5. Hàm nhập trả về chương trình với chuỗi đã nhậpentered_value = input['Enter some value: ']
print[entered_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
Enter age: 20
data_type of name:
data_type of age:
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
Enter age: 20
data_type of name:
data_type of age:
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
Enter age: 20
data_type of name:
data_type of age:
7đầu ra
________số 8_______Enter name: Chaitanya Baweja
Enter age: 20
data_type of name:
data_type of age:
8 chuyển đổi chuỗi đã cho thành kiểu số nguyên
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
Enter age: 20
data_type of name:
data_type of age:
9đầu ra
Enter value: 5.6
Type of float_1:
Twice the given numbers is : 11.2
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ệ
Khi người dùng nhập đầu vào không thể chuyển đổi thành loại đã cho, chúng tôi sẽ nhận được một ngoại lệ ValueError
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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
1 làm đầu vàođầu ra
Enter age: nope---------------------------------------------------------
ValueError Traceback [most recent call last]
in
----> 1 num_1 = int[input['Enter age: ']]
ValueError: invalid literal for int[] with base 10: '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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
1 làm đầu vàoEnter a number: nope
This is not a number.
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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
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
Enter age: 20
data_type of name:
data_type of age:
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
Student Name: Chaitanya
Student Age: 20
Student Score: 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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
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
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
7 sẽ thực hiện thao tác Enter first num: 10
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15
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
Intermediate_list: ['10', '20', '30', '40', '50', '60']
Number List: [10, 20, 30, 40, 50, 60]
List sum: 210
Trong đoạn mã trên
Enter name: Chaitanya Baweja
2 trả về một chuỗi chứa các số được phân tách bằng dấu cách
Enter age: 20
data_type of name:
data_type of age:Enter first num: 10
6 trả về danh sách các chuỗi được phân vùng trên khoảng trắng
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15Enter first num: 10
7 thực hiện thao tác
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15Enter first num: 10
0 trên tất cả các phần tử danh sách và trả về một đối tượng bản đồ
Enter second num: 5
Type of num_1:
Type of num_2:
The sum of given numbers is : 15- Hàm
Enter value: 5.6
3 chuyển đổi đối tượng bản đồ thành danh sách
Type of float_1:
Twice the given numbers is : 11.2
Đầu vào nhiều dòng từ người dùng
Hàm
Enter name: Chaitanya Baweja
Enter age: 20
data_type of name:
data_type of age:
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
Enter age: 20
data_type of name:
data_type of age:
5]. Do đó, nếu bạn cố gắng gửi thông tin nhiều dòng, thì Enter name: Chaitanya Baweja
Enter age: 20
data_type of name:
data_type of age:
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