Làm thế nào để bạn lấy nhiều đầu vào từ một vòng lặp trong python?

Bạn có thể lưu trữ tất cả các đầu vào này trong danh sách có tên là inputs bằng cách sử dụng cách sau

inputs = list[]                                                         

for idx in range[1, 5]: 
    inputs.append[input[f"Enter the choice of user {idx}: "]] 

Thời gian kiểm tra bằng cách sử dụng ipython

In [0]: inputs = list[]                                                         
   ...: for idx in range[1, 6]:  
   ...:     inputs.append[input[f"Enter the choice of user {idx}: "]] 

Enter the choice of user 1: 12
Enter the choice of user 2: 1234
Enter the choice of user 3: 54326
Enter the choice of user 4: 3232
Enter the choice of user 5: 55 

In [1]: print[inputs]                                                           
['12', '1234', '54326', '3232', '55']

Nhà phát triển thường muốn người dùng nhập nhiều giá trị hoặc đầu vào trong một dòng. Trong C++/C, người dùng có thể lấy nhiều giá trị đầu vào trong một dòng bằng scanf nhưng trong Python, người dùng có thể lấy nhiều giá trị hoặc đầu vào trong một dòng bằng hai phương thức

  • Sử dụng phương thức split[]
  • Sử dụng khả năng hiểu Danh sách
    Sử dụng phương thức split[].
    Chức năng này giúp lấy nhiều thông tin đầu vào từ người dùng. Nó ngắt đầu vào đã cho bằng dấu phân cách đã chỉ định. Nếu dấu phân cách không được cung cấp thì bất kỳ khoảng trắng nào cũng là dấu phân cách. Nói chung, người dùng sử dụng phương thức split[] để tách chuỗi Python nhưng người dùng có thể sử dụng nó để lấy nhiều đầu vào.

cú pháp

đầu vào[]. split[dấu phân cách, maxsplit]
Ví dụ.

# Chương trình Python hướng dẫn cách
# nhiều đầu vào bằng cách sử dụng phân tách

# lấy hai giá trị đầu vào cùng một lúc
x, y = input["Nhập hai giá trị. "]. split[]
print["Số nam. ", x]
print["Số bạn nữ. ", y]
print[]

# lấy ba giá trị đầu vào cùng một lúc
x, y, z = input["Nhập ba giá trị. "]. split[]
print["Tổng số sinh viên. ", x]
print["Số nam là. ", y]
print["Số bạn nữ là. ", z]
print[]

# lấy hai giá trị đầu vào cùng một lúc
a, b = input["Nhập hai giá trị. "]. split[]
print["Số đầu tiên là {} và số thứ hai là {}". định dạng[a, b]]
print[]

# lấy nhiều đầu vào cùng lúc
# và truyền kiểu bằng hàm list[]
x = list[map[int, input[" . "]. split[]]]
print["Danh sach sinh vien. ", x]
Đầu ra.

Sử dụng hiểu Danh sách.
Hiểu danh sách là một cách hay để xác định và tạo danh sách trong Python. Chúng ta có thể tạo các danh sách giống như các câu lệnh toán học chỉ trong một dòng. Nó cũng được sử dụng để nhận nhiều đầu vào từ người dùng.

Thí dụ

# chương trình Python đang hiển thị
# cách nhập nhiều dữ liệu đầu vào
# bằng cách sử dụng khả năng hiểu Danh sách

# lấy hai giá trị đầu vào cùng một lúc
x, y = [int[x] for x in input["Nhập hai giá trị. "]. split[]]
print["Số đầu tiên là. ", x]
print["Số thứ hai là. ", y]
print[]

# lấy ba giá trị đầu vào cùng một lúc
x, y, z = [int[x] for x in input["Nhập ba giá trị. "]. split[]]
print["Số đầu tiên là. ", x]
print["Số thứ hai là. ", y]
print["Số thứ ba là. ", z]
print[]

# lấy hai giá trị đầu vào cùng một lúc
x, y = [int[x] for x in input["Nhập hai giá trị. "]. split[]]
print["Số đầu tiên là {} và số thứ hai là {}". định dạng[x, y]]
print[]

# lấy nhiều đầu vào cùng một lúc
x = [int[x] for x in input["Nhập nhiều giá trị. "]. split[]]
print["Số danh sách là. ", x]
Đầu ra.

 

Ghi chú. Các ví dụ trên lấy đầu vào được phân tách bằng dấu cách. Trong trường hợp chúng tôi muốn lấy đầu vào được phân tách bằng dấu phẩy [, ], chúng tôi có thể sử dụng như sau

Đó là một vấn đề phổ biến cho người mới bắt đầu. Nó có thể hỏi trong cuộc phỏng vấn. Đôi khi, các nhà phát triển cũng cần lấy nhiều đầu vào trong một dòng. Có thể dễ dàng thực hiện trong C/C++ bằng phương thức scanf[]. Tuy nhiên, Python cung cấp 2 phương thức giúp chúng ta lấy nhiều giá trị hoặc nhập vào một dòng

  • Sử dụng phương thức split[]
  • Sử dụng danh sách hiểu

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lấy nhiều đầu vào trong một dòng bằng nhiều phương pháp khác nhau

Sử dụng phương thức split[]

Phương thức split[] rất hữu ích để nhận nhiều đầu vào từ người dùng. Cú pháp được đưa ra dưới đây

Cú pháp -

Thông số -

  • Tham số dấu tách ngắt đầu vào theo dấu tách đã chỉ định. Theo mặc định, khoảng trắng là dấu phân cách được chỉ định

Phương thức split[] được sử dụng để tách chuỗi Python, nhưng chúng ta có thể sử dụng nó để lấy nhiều giá trị

Hãy hiểu ví dụ sau

Thí dụ -

đầu ra

Enter three values: David Warner MCA
Enter Your First Name:  David
Enter Your Last Name:  Warner
Enter Your Class:  Warner

Enter three values: 100 67 33
Total number of students:  100
Number of passed students :  67
Number of failed students :  33

Enter four values: 1 2 3 4
First number is 1, second number is 2 third is 3 and fourth is 4
Enter multiple values: 4 6 7 2 4
List of students:  [4, 6, 7, 2, 4]

Giải trình -

Trong đoạn mã trên, chúng tôi lấy nhiều đầu vào trong một dòng. Các giá trị được phân tách bằng khoảng trắng, bạn có thể sử dụng dấu phẩy [,] hoặc bất kỳ thứ gì

Sử dụng danh sách hiểu

Chúng ta cũng có thể lấy các giá trị và chuyển đổi chúng thành danh sách bằng cách sử dụng phương thức map[] cùng với phương thức split[]. Hãy hiểu ví dụ sau

Ví dụ -2

đầu ra

Enter multiple values: 4 6 7 2 4
List of values:  [4, 6, 7, 2, 4]

Giải trình -

Chúng tôi đã sử dụng khoảng trắng làm dấu phân cách trong đoạn mã trên và lấy đầu vào trong một dòng và nhập vào danh sách

Lấy đầu vào ma trận từ người dùng

Ma trận là một mảng hình chữ nhật, hoặc chúng ta có thể nói sắp xếp dữ liệu hoặc số theo hình chữ nhật. Ma trận có thể lấy bất kỳ giá trị nào như giá trị nguyên, giá trị động, chuỗi, số phức, v.v. Các giá trị được đặt theo chiều ngang được gọi là hàng, trong khi các giá trị theo chiều dọc được gọi là 'cột'. Nếu ma trận gồm r số hàng và c số cột thì bậc của ma trận sẽ là r x c

Thí dụ -

đầu ra

Enter the number of rows:3
Enter the number of columns:3
Enter the entries row-wise:
1
2
3
4
5
6
7
8
9
1 2 3 
4 5 6
7 8 9

Ở trên có thể được thực hiện trong một dòng như dưới đây

Thí dụ -

đầu ra

Enter the number of rows:3
Enter the number of columns:3
1
2
3
4
5
6
7
8
9
1 2 3 
4 5 6
7 8 9

Sử dụng hàm map[] và Thư viện numpy

Có một thư viện phổ biến tên là Numpy có thể sử dụng cho bất kỳ tính toán khoa học nào. Nó cung cấp sự hỗ trợ rộng rãi cho các mảng đa chiều. Chúng tôi sẽ sử dụng thư viện này cho ma trận đầu vào. Hãy hiểu ví dụ sau

Thí dụ -

đầu ra

Enter the number of rows:2
Enter the number of columns:2
Enter the entries in a single line separated by space: 1 2 3 1 
[[1 2]
 [3 1]]

Sự kết luận

Trong hướng dẫn này, chúng tôi đã chỉ ra các cách khác nhau để lấy nhiều giá trị từ người dùng. Nó tiết kiệm số lượng dòng mã và khá dễ sử dụng. Chúng tôi cũng đã mô tả tương tự như một ma trận nơi chúng tôi có thể tạo ma trận do người dùng xác định

Chủ Đề