йцуйцуй Й йцуйцуй Регистрация 24 Июн 2013 Сообщения 88 Репутация -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 Чатгпт говорит, что дело в стеке вызовов, внутренняя функция возвращает управление внешней, но почему она выводит какой то значение мне непонятно.
denisd D denisd Регистрация 28 Май 2013 Сообщения 97 Репутация 0 Спасибо 0 Монет 0 2 Фев 2024 #2 Функция вызывается совсем не 5 раз. Либо печать где-то ещё. Приведён не весь код, в общем.
ВаСиЛёЁк В ВаСиЛёЁк Регистрация 29 Май 2013 Сообщения 96 Репутация -3 Спасибо 0 Монет 0 2 Фев 2024 #3 На бумашке распиши каждый шаг
Arikkk A Arikkk Регистрация 22 Ноя 2013 Сообщения 102 Репутация -2 Спасибо 0 Монет 0 2 Фев 2024 #4 нормальный вывод.
dedyIIIka D dedyIIIka Регистрация 19 Окт 2013 Сообщения 67 Репутация 0 Спасибо 0 Монет 0 2 Фев 2024 #5 ¯\_(ツ)_/¯