Войти Создать аккаунт

Рекурсия · 7 из 19

Путь до человека

«А Серафима нам кто?» — ответ «есть такая» дядю Мишу не устраивает. Ему нужна цепочка от родоначальника вниз до неё: так на плакате рисуют линию и так объясняют родство за столом.

Что сделать

Проведите на плакате линию родства — от родоначальника вниз до нужного человека.

Что приходит

  • chelovek — словарь с ключами "imya" и "deti"

  • imya — до кого вести путь

Что вернуть

Список имён от chelovek вниз до imya, оба конца включительно; такого нет — None; имя встречается не раз — первое при обходе.

Допишите функцию put_do в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

У Петра дети Иван и Мария, у Ивана — Серафима. Путь до Серафимы — ["Пётр", "Иван", "Серафима"]. Обход идёт так: сам человек, потом всё поддерево первого ребёнка, потом второго.

Тот же пример кодом
Перед вызовом
drevo = {"imya": "Пётр", "deti": [
    {"imya": "Иван", "deti": [{"imya": "Серафима", "deti": []}]},
    {"imya": "Мария", "deti": []},
]}
Вызов
put_do(drevo, "Серафима")
Вернуть
['Пётр', 'Иван', 'Серафима']
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.