Найти - Пользователи
Полная версия: Ввод списка заданного размера в одну строчку
Начало » Python для новичков » Ввод списка заданного размера в одну строчку
1
Fronior
Как реализовать ввод списка заданного размера в одну строчку?
Т.е сначала вводится размер списка: 4
Затем считывается строчка со всеми эл-ми этого списка: 1, 2, 3, 4
JOHN_16
сперва считываете размер списка, затем в цикле считыаете значения и добавляете в список
Fronior
Вы не могли бы предоставить код для наглядности?
Заранее большое спасибо
old_monty
Fronior
Вы не могли бы предоставить код для наглядности?
Вот так, я думаю, вполне наглядно:
 # Создаем пустой список, куда будем добавлять считываемые значения
lst = []
size = int(input("Введите размер списка: "))
for i in range(size):
    elem = int(input("Введите {}-й элемент списка: ".format(i+1)))
    lst.append(elem) #добавляем в список
print(lst)
Fronior
Тут-то и дело в том, что все элементы списка должны считываться в одну строчку.
Т.е на ввод программа получает: 1 2 3 4 5
И создает список ''
old_monty
Тогда тоже все очень просто:
 lst = input("Введите список в одну строчку: ")    # например, 1 2 3 4 5
result = [int(elem) for elem in lst.split()]
print(result)
JOHN_16
old_monty
Вы забыли про заранее заданнную длину списка
old_monty
JOHN_16
Длину списка можно запрашивать, как уже было показано в моем первом ответе, и проверять, прежде чем генерировать список.
Можно проверять введенную длину списка и в самом генераторе:
 >>> size = int(input("Введите длину списка: "))
Введите длину списка: 5
>>> lst = input("Введите список из {} элементов в одну строчку: ".format(size))  
Введите список из 5 элементов в одну строчку: 11 12 13 14 15
>>> result = [int(elem) for elem in lst.split() if len(lst.split()) == size]       
>>> print(result)
[11, 12, 13, 14, 15]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB