@Alex161

Как это работает?

def fib_dict(n):
    fib_d = {0: 0, 1: 1}

    def _fib_dict(n):
        if n in fib_d:
            return fib_d[n]

        fib_d[n] = _fib_dict(n - 1) + _fib_dict(n - 2)
        return fib_d[n]
    return _fib_dict(n)
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Вложенная функция _fib_dict() работает рекурсивно, и ссылается на переменную fib_d в содержащей её функции.
Ответ написан
Комментировать
@Sergeynonnisnon
fib_dict это декоратор для функции _fib_dict.
результатом работы fib_dict является обьявление словаря fib_d и запуск функции _fib_dict
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы