B. Сборы на прогулку

Воспитатель в детском саду устал тратить время, чтобы построить детей по парам.

Он договорился с детьми, чтобы те делились на две, по возможности равные, группы.

Напишите программу, которая по списку двух шеренг составляет пары детей.

Формат ввода

Вводится две строки с именами детей, записанными через запятую и пробел.

Формат вывода

Требуется вывести список пар, которые можно составить, если последовательно брать из каждой шеренги по одному ребёнку.
Имена в парах выводить через дефис окружённый пробелами.

Примечание

В одной из групп может быть на одного ребенка больше, чем в другой.
Этот ребёнок при формировании пар не учитывается и идёт в паре с воспитателем.

Пример

Ввод

Аня, Вова
Боря, Дима, Гена

Вывод

Аня - Боря
Вова - Дима

Решение

Для решения этой задачи нам потребуется функция zip().

В качестве параметра zip() принимает один или несколько итерируемых объектов, и возвращает элементы с с одинаковым индексом, сгруппированные в кортеж. По-умолчанию, процесс продолжается до тех пор, пока не закончится самый короткий итерируемый объект. Еще одна особенность состоит в том, что zip() это генератор, а это значит, что каждый вызов он возвращает ровно одно значение. Для того, чтобы решить эту проблему, вывод zip() следует преобразовать, например, в список.

Посмотреть код

Решение

Python
left = input().split(', ')
right = input().split(', ')

for kids in zip(left, right):
    print(f'{kids[0]} - {kids[1]}')

Решение

Python
left = input().split(', ')
right = input().split(', ')

print('\n'.join([f'{child_left} - {child_right}' for [child_left, child_right] in list(zip(left, right))]))
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии