Уведомления

Группа в Telegram: @pythonsu

#1 Март 18, 2020 15:47:10

Dagon
Зарегистрирован: 2020-03-18
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

пошаговое объяснеие рекурсии

Объясните как пошагово выполняется программа, как передаются параметры в функцию?

def hanoi(n, a, b):
    if n != 0:
        hanoi(n-1, b, a)
        print(a, b, n)

hanoi(3, ‘A’, ‘B’)


Результат:

A B 1

B A 2

A B 3

Офлайн

#2 Март 18, 2020 18:39:49

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

пошаговое объяснеие рекурсии

Вот как передаются аргументы (порядок следования):
Вход (3, ‘A’, ‘B’)
следующий(2,“В”,“А”)
третий (1,“А”,“В”)
Третий вызов печатает и завершает работу –> срабатывает печать из второго вызова и
второй завершает работу –> отрабатывает печать первого, входного вызова, и всё.

Отредактировано Rafik (Март 18, 2020 18:43:12)

Офлайн

#3 Март 18, 2020 19:41:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

пошаговое объяснеие рекурсии

Dagon
Объясните как пошагово выполняется программа, как передаются параметры в функцию?
Попробуй взять пример, который проще Ханойских башен. Не надо думать, что Ханойские башни - это самая простая рекурсия. Возьми рекурсивное вычисление факториала, например. Все эти передачи параметров ничем не отличаются.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version