@Geek228

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

Можно ли как нибуть прервать или остановить, обнулить оборвать, срезать,хотябы удлиннить, сделать бесконечной, или отключить, рекурсию в питоне без return(он не помогает в моём скрипте) , могут ли это заделать sys или os?
  • Вопрос задан
  • 262 просмотра
Пригласить эксперта
Ответы на вопрос 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")
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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