Уведомления

Группа в Telegram: @pythonsu

#1 Май 21, 2017 17:02:36

Fronior
Зарегистрирован: 2017-05-17
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

Как реализовать ввод списка заданного размера в одну строчку?
Т.е сначала вводится размер списка: 4
Затем считывается строчка со всеми эл-ми этого списка: 1, 2, 3, 4

Отредактировано Fronior (Май 21, 2017 17:05:04)

Офлайн

#2 Май 21, 2017 17:16:24

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

сперва считываете размер списка, затем в цикле считыаете значения и добавляете в список



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Май 21, 2017 17:18:34

Fronior
Зарегистрирован: 2017-05-17
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

Вы не могли бы предоставить код для наглядности?
Заранее большое спасибо

Офлайн

#4 Май 21, 2017 17:42:01

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

Fronior
Вы не могли бы предоставить код для наглядности?
Вот так, я думаю, вполне наглядно:
 # Создаем пустой список, куда будем добавлять считываемые значения
lst = []
size = int(input("Введите размер списка: "))
for i in range(size):
    elem = int(input("Введите {}-й элемент списка: ".format(i+1)))
    lst.append(elem) #добавляем в список
print(lst)

Офлайн

#5 Май 21, 2017 17:59:24

Fronior
Зарегистрирован: 2017-05-17
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

Тут-то и дело в том, что все элементы списка должны считываться в одну строчку.
Т.е на ввод программа получает: 1 2 3 4 5
И создает список ''

Отредактировано Fronior (Май 21, 2017 18:02:59)

Офлайн

#6 Май 21, 2017 18:17:22

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

Тогда тоже все очень просто:

 lst = input("Введите список в одну строчку: ")    # например, 1 2 3 4 5
result = [int(elem) for elem in lst.split()]
print(result)

Отредактировано old_monty (Май 21, 2017 18:23:30)

Офлайн

#7 Май 21, 2017 19:55:12

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

old_monty
Вы забыли про заранее заданнную длину списка



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#8 Май 21, 2017 20:24:20

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Ввод списка заданного размера в одну строчку

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]

Отредактировано old_monty (Май 21, 2017 21:09:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version