Воспитатель в детском саду устал тратить время, чтобы построить детей по парам.
Он договорился с детьми, чтобы те делились на две, по возможности равные, группы.
Напишите программу, которая по списку двух шеренг составляет пары детей.
Формат ввода
Вводится две строки с именами детей, записанными через запятую и пробел.
Формат вывода
Требуется вывести список пар, которые можно составить, если последовательно брать из каждой шеренги по одному ребёнку.
Имена в парах выводить через дефис окружённый пробелами.
Примечание
В одной из групп может быть на одного ребенка больше, чем в другой.
Этот ребёнок при формировании пар не учитывается и идёт в паре с воспитателем.
Пример
Ввод
Аня, Вова
Боря, Дима, Гена
Вывод
Аня - Боря
Вова - Дима
Решение
Для решения этой задачи нам потребуется функция zip().
В качестве параметра zip() принимает один или несколько итерируемых объектов, и возвращает элементы с с одинаковым индексом, сгруппированные в кортеж. По-умолчанию, процесс продолжается до тех пор, пока не закончится самый короткий итерируемый объект. Еще одна особенность состоит в том, что zip() это генератор, а это значит, что каждый вызов он возвращает ровно одно значение. Для того, чтобы решить эту проблему, вывод zip() следует преобразовать, например, в список.
Посмотреть код
Решение
left = input().split(', ')
right = input().split(', ')
for kids in zip(left, right):
print(f'{kids[0]} - {kids[1]}')
Решение
left = input().split(', ')
right = input().split(', ')
print('\n'.join([f'{child_left} - {child_right}' for [child_left, child_right] in list(zip(left, right))]))