Как получить n переменных в одной строке?

#python

#python

Вопрос:

У меня есть число n, и мне нужно получить от пользователя n переменных в одной строке.

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

 *variables* = map(int, input().split())
  

Но если я не знаю, сколько существует переменных, что мне делать?

Кроме того, меня просят поместить результат в массив.

К сожалению, я только начал изучать Python, поэтому я абсолютно не представляю, как это сделать, и не могу показать ни одного кода, который я пробовал.

Комментарии:

1. Просто присвоите результат одной переменной: numbers = map(int, input().split())

2. Поскольку вы не знаете, сколько у вас переменных, лучше всего сохранить их в виде списка. Вы можете возиться со globals() словарем, но, вероятно, лучше этого не делать.

3. На языке Python это не даст вам массив (хотя на жаргоне CS списки Python представляют собой массивы ссылок на объекты). Я оставлю упражнение, чтобы найти, какие массивы называются в стандартной библиотеке. 😉

Ответ №1:

Пользовательский ввод воспринимается как строка, разделенная пробелом:

 1 2 3 4 5
  

Это код, с которым вы имеете дело:

 map(int, input().split())
  

Заявив, что вам нужен список, просто сохраните его в одной переменной:

 inputs = map(int, input().split())
  

Однако, имея дело с Python 3, вы получите map object . Итак, если вам действительно нужен list тип, просто вызовите list map функцию:

 inputs = list(map(int, input().split()))
  

ДЕМОНСТРАЦИЯ:

 >>> inputs = list(map(int, input().split()))
1 2 3 4 5
>>> type(inputs)
<class 'list'>
>>> inputs
[1, 2, 3, 4, 5]