Задать вопрос
@Geek228

Прерывание рекурсии python 3?

Можно ли как нибуть прервать или остановить, обнулить оборвать, срезать,хотябы удлиннить, сделать бесконечной, или отключить, рекурсию в питоне без return(он не помогает в моём скрипте) , могут ли это заделать sys или os?
  • Вопрос задан
  • 298 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Можно сделать свой exception, в нужном месте сделать raise этого exception и снаружи его словить.

import random

class StopRecursion(Exception):
  pass

def some_recursive_function(depth=0):
  print ("depth=%d" % depth)
  # играем в русскую рулетку
  if random.randint(1,6) == 4:
    raise StopRecursion
  some_recursive_function(depth+1)

try:
  some_recursive_function()
except StopRecursion:
  print ("Recursion stopped")
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы