Можно ли сжать форму ввода данных пользователем?
Всем привет, сайт использую впервые не судите строго =).
Например у нас есть задача: Просто считать ввод данных пользователем до тех пор пока не будет введена строка '555' - я всё время оформляю это таким образом:
Answer = list()
while True:
s = input()
if s == '555':
break
Answer.append(s)
Но что то мне подсказывает что можно делать это намного проще. Недавно положил глаз на функцию iter(), потому что второй аргумент у неё - остановочный, но у меня до сих пор наблюдаются проблемы с её использованием, я подозреваю что она может быть ключом к решению, но сам я не могу его разгадать.
Решил написать сюда, может быть кто-нибудь из вас сможет помочь сжать этот код до 1-3 строчек, я буду вам очень благодарен =)
Прошу, можете использовать любые встроенные функции в Python, но пожалуйста - не используйте не встроенные по стандарту библиотеки (Если решения через таковые имеются)
Ответы (2 шт):
Да, с помощью iter можно сократить:
Answer = [s for s in iter(input, '555')]
Полезная ссылка:
Answer = list()
while (s := input()) != '555' and not Answer.append(s): pass
print(Answer)
Работает для python версии 3.8 и выше