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ể nhận nhiều đầu vào trong một dòng bằng cách sử dụ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 cách.

  • Sử dụng phương thức split() 
  • Sử dụng List comprehension

Sử dụng phương thức split():
Hàm này giúp nhận được nhiều đầu vào từ người dùng. Nó chia đầu vào đã cho bằng dấu phân cách đã được chỉ định. Nếu dải phân cách không được cung cấp thì bất kỳ khoảng trắng nào cũng là dải phân cách. Nói chung, người dùng sử dụng một phương thức split() để phân tách một chuỗi trong Python nhưng người ta có thể sử dụng nó trong việc lấy nhiều dữ liệu đầu vào.

Cú pháp:

input().split(separator, maxsplit)

Lấy ví dụ:


# Python program showing how to 
# multiple input using split 
  
# taking two inputs at a time 
x, y = input("Enter a two value: ").split() 
print("Number of boys: ", x) 
print("Number of girls: ", y) 
print() 
  
# taking three inputs at a time 
x, y, z = input("Enter a three value: ").split() 
print("Total number of students: ", x) 
print("Number of boys is : ", y) 
print("Number of girls is : ", z) 
print() 
  
# taking two inputs at a time 
a, b = input("Enter a two value: ").split() 
print("First number is {} and second number is {}".format(a, b)) 
print() 
  
# taking multiple inputs at a time  
# and type casting using list() function 
x = list(map(int, input("Enter a multiple value: ").split())) 
print("List of students: ", x) 

Kết quả:

Sử dụng List comprehension :

List comprehension là một cách đơn giản để xác định và tạo danh sách trong Python. Chúng ta có thể tạo 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.

Lấy ví dụ:

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------

# Python program showing 
# how to take multiple input 
# using List comprehension 
  
# taking two input at a time 
x, y = [int(x) for x in input("Enter two value: ").split()] 
print("First Number is: ", x) 
print("Second Number is: ", y) 
print() 
  
# taking three input at a time 
x, y, z = [int(x) for x in input("Enter three value: ").split()] 
print("First Number is: ", x) 
print("Second Number is: ", y) 
print("Third Number is: ", z) 
print() 
  
# taking two inputs at a time 
x, y = [int(x) for x in input("Enter two value: ").split()] 
print("First number is {} and second number is {}".format(x, y)) 
print() 
  
# taking multiple inputs at a time  
x = [int(x) for x in input("Enter multiple value: ").split()] 
print("Number of list is: ", x)  

Kết quả:

Lưu ý: Các ví dụ trên lấy đầu vào được phân cách nhau bởi khoảng trắng. Trong trường hợp chúng ta muốn lấy đầu vào được phân tách bằng dấu phẩy (,), chúng ta có thể sử dụng như sau:


# taking multiple inputs at a time separated by comma 
x = [int(x) for x in input("Enter multiple value: ").split(",")] 
print("Number of list is: ", x)  

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!