В этом коротком руководстве мы увидим все способы, которыми мы можем принимать несколько входных данных от пользователей в Python.

В Python пользователи могут принимать несколько значений или входных данных в одной строке двумя способами.

  • Использование метода split ()
  • Использование понимания списка

1. Используя метод split ():

Эта функция помогает получить несколько входных данных от пользователей. Он разбивает данный ввод по указанному разделителю. Если разделитель не указан, то разделителем считается любой пробел. Как правило, пользователи используют метод split () для разделения строки Python, но можно использовать его для получения нескольких входных данных.

Синтаксис:

input (). split (разделитель, maxsplit)

  • разделитель: это разделитель. Строка разделяется по указанному разделителю. Если не указан, то любой пробел является разделителем.
  • maxsplit: это число, которое говорит нам разделить строку на максимальное указанное количество раз. Если он не указан, по умолчанию используется значение -1, что означает отсутствие ограничения.

а) Одновременный прием двух входов:

a,b = input("Enter 2 variables").split()
print("a is:",a)
print("b is:",b)
Enter 2 variableshi there
a is: hi
b is: there
a,b = input("Enter 2 variables").split()
print("a is:",a)
print("b is:",b)
Enter 2 variables34 56
a is: 34
b is: 56

Примечание. Как видите, вводимые данные могут быть любыми: int, string, float и т. Д. Мы не упомянули используемый разделитель, поэтому по умолчанию используется пробел.

б) Ввод входных данных с определенными разделителями и Maxsplit

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

Примечание. Независимо от того, был ли задан maxsplit, результаты были одинаковыми. Для обоих вышеупомянутых случаев только 3 входа (не более или менее может быть предоставлено в соответствии с определенными переменными!)

Неограниченное количество входов:

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

в) Ввод нескольких входов в виде списка

Одновременный прием нескольких входов и приведение типов с помощью функции list ().

С функцией карты:

Используется функция карты (необязательно) для преобразования ввода в целое число.

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]

Для приведенного выше кода из-за использования целочисленной функции карты наши входные данные могут быть только целыми числами.

Без функции карты:

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']

Примечание. Поскольку здесь мы не использовали никаких функций карты, тип ввода может быть любым!

2. Использование списков Cpmght:

2 ввода за раз:

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 78
x,y = [int(x) for x in input().split()]
print("x is ",x)
print("y is",y)
78 90
x is  78
y is 90

Одновременный прием нескольких входов:

x = [int(x) for x in input().split()]
print("Number of list is: ", x)
43 12 34 67 09 653 2321 12
Number of list is:  [43, 12, 34, 67, 9, 653, 2321, 12]

В приведенных выше примерах вводятся через пробелы. Если мы хотим вводить данные, разделенные запятой (,), мы можем использовать следующее.

Количество вводов, определяемое пользователем:

#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()

Результатом для приведенного выше кода будет список с числом пользовательских входов n.

Множественный ввод с использованием разделителя

x = [int(x) for x in input().split(",")]
print("Number of list is: ", x)
67,432,11,1,2,3,4
Number of list is:  [67, 432, 11, 1, 2, 3, 4]

Немного лишнего сыра: использование метода Strip ()

strip () - это встроенная функция языка программирования Python, которая возвращает копию строки с удаленными начальными и конечными символами (в зависимости от переданного строкового аргумента).

Синтаксис:

  • string.strip ([символы]),

chars - строка, определяющая набор удаляемых символов. Если необязательный параметр chars не указан, все начальные и конечные пробелы удаляются из строки.

Пример:

string = " the King has the largest army in the entire world the"
# prints the string after removing "the" from beginning and end
print(string.strip(" the"))
King has the largest army in the entire world
string = " .the King has the largest army in the entire world the."
# prints the string after removing ".the" from beginning and end
print(string.strip(" .the"))
King has the largest army in the entire world

Метод полосы может сделать ваш ввод чистым, удалив ненужные.

Надеюсь, это небольшое руководство помогло вам научиться принимать несколько входных данных в Python.

Ваше здоровье! :)

Больше контента на plainenglish.io