Вопрос №55777 от пользователя Yura в уроке «Типизация», курс «Введение в программирование»

Yura

https://ru.hexlet.io/code_reviews/421524 Здравствуйте! У меня ошибка - "Maximum call stack size exceeded" в 8 - ой строке, иногда получал в 9 - ой. В моем понимании терминальный сценарий я указал верно, видимо я не достаточно хорошо понимаю как работает итеративный процес. Подскажите пожалуйста почему программа не приходит к терминальному сценарию.

8 0

Вячеслав Павлов

Yura, здравствуйте.

Происходит зацикливание. Объявление переменной result перенесите в тело функции iter.

Не обратили внимание на Подсказки:

  • Выделите процесс суммирования цифр в числе в отдельную функцию
0

Maksim Litvinov

Добрый день! Помог ли вам ответ Вячеслава решить эту задачу?

0

Yura

Вячеслав Павлов, Спасибо большое, да помогло! Только я не совсем понимаю, если я в цикле переопределяю "result", после чего снова вызываю функцию будто - бы с новым значением "result", и тут же опять говорю функции что "result" равен нулю, делая это каждый раз при вызове функции, в моем понимании как раз в этом случае должно зациклиться, функция будет бесконечно присваивать переменной "result" значение 0 и начинать сначала. Предполагаю что тут срабатывает замыкание, поправьте меня пожалуйста если я не прав.

0

Yura

Максим Литвинов, Да, спасибо, прошу прощения за длительный ответ!

0

Yura

Yura переопредиляю в начале функции*

0

Yura

Максим Литвинов, Да, спасибо большое! Только я не совсем понимаю, если я в цикле переопределяю переменную "result" а потом при повторном вызове функции снова говорю ей что "result" равен нулю, то в моем понимании как раз в этом случае должно произойти зацикливание, функция будет каждый раз начинать с 0 в переменной "result". Предполагаю что тут срабатывает замыкание. Попровьте меня если это не так. И да, я обратил внимание на подсказку, я совсем не понимал как это сделать и решил завершить задание как понимаю сам, потом посмотреть что у "учителя" :)

0

Yura

Максим Литвинов, Да, спасибо большое! Только я не совсем понимаю, если я в цикле переопределяю переменную "result" а потом при повторном вызове функции снова говорю ей что "result" равен нулю, то в моем понимании как раз в этом случае должно произойти зацикливание, функция будет каждый раз начинать с 0 в переменной "result". Предполагаю что тут срабатывает замыкание. Попровьте меня если это не так. И да, я обратил внимание на подсказку, я совсем не понимал как это сделать и решил завершить задание как понимаю сам, потом посмотрю что у "учителя" :)

0

Yura

Максим Литвинов, Да, спасибо большое! Только я не совсем понимаю, если я в цикле переопределяю переменную "result" а потом при повторном вызове функции снова говорю ей что "result" равен нулю, то в моем понимании как раз в этом случае должно произойти зацикливание, функция будет каждый раз начинать с 0 в переменной "result". Предполагаю что тут срабатывает замыкание. Попровьте меня если это не так. И да, я обратил внимание на подсказку, я совсем не понимал как это сделать и решил завершить задание как понимаю сам, потом посмотрю что у "учителя" :)

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев