Рекурсия · 16 из 19
Когда рекурсия не годится
Из архива пришла выгрузка: род по прямой, выписанный из церковных книг, — десятки тысяч звеньев подряд. Программа, честно считавшая поколения на бабушкиной тетради, на этой выгрузке падает, не выдав ни одного числа.
Что сделать
Посчитайте длину рода по прямой из церковных книг — в нём десятки тысяч звеньев, и рекурсия упадёт.
Что приходит
chelovek— словарь с ключами"imya"и"roditel"; родитель — такой же словарь илиNone
Что вернуть
Длину цепочки, считая самого человека; справиться надо и с десятками тысяч звеньев.
Допишите функцию dlina_cepochki в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
ded = {"imya": "Пётр", "roditel": None}
otec = {"imya": "Иван", "roditel": ded}
syn = {"imya": "Фёдор", "roditel": otec}
dlina_cepochki(syn)
3
Функция принимает человека — словарь с ключами «imya» и «roditel» (такой же словарь или None). Возвращает длину цепочки, считая самого человека. Цепочка может быть длиной в десятки тысяч звеньев, и функция обязана с такой справиться.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.