Что нужно сделать
В самом конце собеседования вас неожиданно спросили: «Расскажите, что делает функция zip?». Чтобы произвести впечатление, вы решили не только рассказать про неё, но и написать её аналог.
Даны строка и кортеж из чисел. Напишите программу, которая создаёт генератор из пар кортежей «символ — число». Затем выведите на экран сам генератор и кортежи.
Пример:
Строка: abcd
Кортеж чисел: (10, 20, 30, 40)
Результат:
<generator object <genexpr> at 0x00000204A4234048>
('a', 10)
('b', 20)
('c', 30)
('d', 40)
Дополнительно: создайте полный аналог функции zip — сделайте так, чтобы программа работала с любыми итерируемыми типами данных.
Что оценивается
- Результат вычислений корректен.
- Формат вывода соответствует примеру.
- Основной функционал описан в отдельной функции(-ях).
- Переменные и функции имеют значащие имена, не только a, b, c, d
a = 'abcd'
b = (10, 20, 30, 40)
notzip = ((a[i], b[i]) for i in range((len(a) + len(b)) // 2))
print(notzip)
for i in notzip:
print(i)