You are currently viewing Как ввести несколько значений от пользователя в одной строке в Python?

Как ввести несколько значений от пользователя в одной строке в Python?

Например, в C мы можем сделать что-то вроде этого:

// Reads two values in one line
scanf("%d %d", &x, &y)

Одним из решений является использование функции raw_input() два раза.

x, y = input(), input()

Другое решение-использовать split()

x, y = input().split()

Обратите внимание, что нам не нужно явно указывать split (‘ ‘ ), потому что split() по умолчанию использует любые пробелы в качестве разделителя.

Одна вещь, которую следует отметить в приведенном выше коде Python, заключается в том, что и x, и y будут строковыми. Мы можем преобразовать их в int, используя другую строку

x, y = [int(x), int(y)]

# Мы также можем использовать понимание списка
x, y = [int(x) для x в [x, y]]

Ниже приведен полный код в одну строку для считывания двух целочисленных переменных из стандартного ввода с использованием разделения и понимания списка

# Reads two numbers from input and typecasts them to int using
# list comprehension
x, y = [int(x) for x in input().split()]
# Reads two numbers from input and typecasts them to int using
# map function
x, y = map(int, input().split())