Й йцуйцуй Регистрация 24 Июн 2013 Сообщения 83 Репутация -4 Спасибо 0 Монет 0 2 Фев 2024 #1 Столкнулся со странной работой рекурсии. def recursive(value): if (value < 5): recursive(value + 1) print(value) recursive(1) Хоть функция вызывается 5 раз, каким то образом вывод будет таким 1 2 3 4 5 4 3 2 1 Чатгпт говорит, что дело в стеке вызовов, внутренняя функция возвращает управление внешней, но почему она выводит какой то значение мне непонятно.
Столкнулся со странной работой рекурсии. def recursive(value): if (value < 5): recursive(value + 1) print(value) recursive(1) Хоть функция вызывается 5 раз, каким то образом вывод будет таким 1 2 3 4 5 4 3 2 1 Чатгпт говорит, что дело в стеке вызовов, внутренняя функция возвращает управление внешней, но почему она выводит какой то значение мне непонятно.
D denisd Регистрация 28 Май 2013 Сообщения 93 Репутация 0 Спасибо 0 Монет 0 2 Фев 2024 #2 Функция вызывается совсем не 5 раз. Либо печать где-то ещё. Приведён не весь код, в общем.
В ВаСиЛёЁк Регистрация 29 Май 2013 Сообщения 87 Репутация -3 Спасибо 0 Монет 0 2 Фев 2024 #3 На бумашке распиши каждый шаг
A Arikkk Регистрация 22 Ноя 2013 Сообщения 95 Репутация -2 Спасибо 0 Монет 0 2 Фев 2024 #4 нормальный вывод.
D dedyIIIka Регистрация 19 Окт 2013 Сообщения 66 Репутация 0 Спасибо 0 Монет 0 2 Фев 2024 #5 ¯\_(ツ)_/¯