21
Студент
57%
Завершения
Перед прохождением данного испытания рекомендуется пройти испытание "Трансформер".
src/puzzle.py
Реализуйте функцию combine()
, которая объединяет отдельные ветки в одно дерево. Каждая из веток в свою очередь является также деревом.
Функция может принимать на вход неограниченное количество веток и соединяет их. Корневым узлом объединённого дерева является корневой узел первой переданной ветки:
branch1 = ['A', [ # A
['B', [ # |
['C'], # B
['D'], # / \
]], # C D
]]
branch2 = ['B', [ # B
['D', [ # |
['E'], # D
['F'], # / \
]], # E F
]]
branch3 = ['I', [ # I
['A', [ # |
['B', [ # A
['C'], # |
['H'], # B
]], # / \
]], # C H
]]
combine(branch1, branch2, branch3)
# ['A', [ # A
# ['B', [ # / \
# ['C'], # B I
# ['D', [ # /|\
# ['E'], # C D H
# ['F'], # / \
# ]], # E F
# ['H'],
# ]],
# ['I'],
# ]]
Подсказки
- Другие примеры можно посмотреть в файле с тестами
- Используйте функции модулей itertools и functools из стандартной библиотеки
- Работа с иерархическими структурами данных
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.