Cách nhập nhiều chuỗi trong Python bằng vòng lặp for

Hàm input() của Python giúp chúng ta nhập liệu cho người dùng khi viết chương trình. Nhưng làm cách nào để lấy nhiều đầu vào của người dùng trong thiết bị đầu cuối?

Báo cáo sự cố khi lấy nhiều đầu vào của người dùng bằng Python

Giả sử bạn được nhắc viết chương trình Python tương tác với người dùng trong cửa sổ bảng điều khiển. Bạn có thể chấp nhận đầu vào để gửi đến cơ sở dữ liệu hoặc đọc số để sử dụng trong phép tính

Dù mục đích là gì, bạn nên mã hóa một vòng lặp đọc một hoặc nhiều đầu vào của người dùng từ một người dùng đang gõ trên bàn phím và in kết quả cho mỗi đầu vào. Nói cách khác, bạn phải viết một chương trình vòng lặp in cổ điển

Nhiều đầu vào với Python bằng vòng lặp While

Bây giờ hãy xem cách giải quyết vấn đề trên bằng cách lấy nhiều đầu vào với Python bằng vòng lặp while. Trong Python, mã chuẩn cho vòng lặp tương tác như vậy có thể trông như thế này

while True:
    reply = input("Enter Text: ")
    if reply == 'stop': break
    print(reply)

Enter Text: hello
hello
Enter Text: how are you
how are you
Enter Text: stop

Hiểu đoạn mã trên

Đoạn mã tận dụng vòng lặp while của Python, câu lệnh vòng lặp chung nhất của Python. Hàm đầu vào tích hợp được sử dụng ở đây cho đầu vào bảng điều khiển chung, nó in chuỗi đối số tùy chọn của nó dưới dạng lời nhắc và trả về phản hồi do người dùng nhập dưới dạng chuỗi

Ngoài ra, hãy đọc - Hơn 100 dự án học máy đã được giải quyết và giải thích

Câu lệnh if một dòng sử dụng quy tắc đặc biệt cho các khối lồng nhau cũng xuất hiện tại đây. Nội dung của câu lệnh if xuất hiện trên hàng tiêu đề sau dấu hai chấm thay vì được thụt vào hàng mới bên dưới

Cuối cùng, câu lệnh break trong Python được sử dụng để thoát khỏi câu lệnh lặp while ngay lập tức. Nó chỉ đơn giản là nhảy ra khỏi câu lệnh lặp while và chương trình tiếp tục sau vòng lặp. Nếu không có câu lệnh thoát này, thì vòng lặp while sẽ lặp mãi, bởi vì phép thử của nó vẫn đúng

Tôi hy vọng bạn thích bài viết này về cách lấy nhiều đầu vào của người dùng bằng Python bằng cách sử dụng vòng lặp while. Vui lòng đặt câu hỏi có giá trị của bạn trong phần bình luận bên dưới

Ghi chú. Như bạn có thể thấy, đầu vào đã cho có thể là bất kỳ. int, chuỗi, float, v.v. Chúng tôi chưa đề cập đến dấu phân cách được sử dụng do đó khoảng trắng được coi là mặc định

b) Lấy đầu vào với Dấu tách và Maxsplit được xác định

x,y,z = input("Enter variables: ").split(",",3)
print(x,y,z)

Enter variables: how,are,you
how are youx,y,z = input("Enter variables: ").split(",")
print(x,y,z)

Enter variables: how,are,you
how are you

Ghi chú. Cho dù maxsplit có được xác định hay không thì kết quả vẫn như nhau. Đối với cả hai trường hợp trên, chỉ có 3 đầu vào (không nhiều hơn hoặc ít hơn có thể được cung cấp tương ứng với các biến được xác định. )

Lấy đầu vào không giới hạn

x= input("Enter variables: ").split(",")
print(x)
Enter variables: how,are,you,dear
['how', 'are', 'you', 'dear']

c) Lấy nhiều đầu vào dưới dạng danh sách

Lấy nhiều đầu vào cùng một lúc và truyền kiểu bằng hàm

x,y,z = input("Enter variables: ").split(",",3)
print(x,y,z)

Enter variables: how,are,you
how are youx,y,z = input("Enter variables: ").split(",")
print(x,y,z)

Enter variables: how,are,you
how are you
2

Với chức năng bản đồ

Hàm Map đã sử dụng (Tùy chọn) để chuyển đổi đầu vào của bạn thành một số nguyên

x = list(map(int, input("Enter multiple value: ").split()))
print("List of students: ", x)

Enter multiple value: 67 90 89 54 12 34 09
List of students:  [67, 90, 89, 54, 12, 34, 9]

Đối với đoạn mã trên, do sử dụng hàm số nguyên bản đồ, đầu vào của chúng tôi chỉ có thể là số nguyên

Không có chức năng bản đồ

x = list(input("Enter multiple value: ").split())
print("List of students: ", x)

Enter multiple value: hey 78 amazing person 2021
List of students:  ['hey', '78', 'amazing', 'person', '2021']

Ghi chú. Ở đây vì chúng tôi không sử dụng bất kỳ chức năng bản đồ nào, loại đầu vào có thể là bất kỳ

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

2 đầu vào tại một thời điểm

x,y = [int(x) for x in input("Enter 2 values: ").split()]
print("x is ",x)
print("y is",y)

Enter 2 values: 6 78
x is  6
y is 78x,y = [int(x) for x in input().split()]
print("x is ",x)
print("y is",y)78 90
x is  78
y is 90

Lấy nhiều đầu vào cùng một lúc

________số 8

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ấy số lượng đầu vào do người dùng xác định

#Inputs of Number of inputs user want to enter:
n = int(input())
# defining empy list:
L= []
# Taking multiple inputs based on n:
for i in range(n):
t = input().split()

Kết quả cho đoạn mã trên sẽ là một danh sách có n số đầu vào của người dùng

Nhiều đầu vào sử dụng dấu phân cách

Enter Text: hello
hello
Enter Text: how are you
how are you
Enter Text: stop
0

Thêm một ít phô mai. Sử dụng phương thức Strip()

x,y,z = input("Enter variables: ").split(",",3)
print(x,y,z)

Enter variables: how,are,you
how are youx,y,z = input("Enter variables: ").split(",")
print(x,y,z)

Enter variables: how,are,you
how are you
3 là một hàm sẵn có trong ngôn ngữ lập trình Python trả về một bản sao của chuỗi đã xóa cả ký tự đầu và cuối (dựa trên đối số chuỗi được truyền)

cú pháp

x,y,z = input("Enter variables: ").split(",",3)
print(x,y,z)

Enter variables: how,are,you
how are youx,y,z = input("Enter variables: ").split(",")
print(x,y,z)

Enter variables: how,are,you
how are you
4 - ký tự --- một chuỗi chỉ định bộ ký tự sẽ bị xóa. Nếu tham số ký tự tùy chọn không được cung cấp, tất cả các khoảng trắng ở đầu và cuối sẽ bị xóa khỏi chuỗi