Рекурсия как остановить
Как должна заканчиваться рекурсия? выскакивает Previous line repeated 16 more times и RecursionError: maximum recursion depth exceeded while calling a Python object, увеличивать глубину не поможет.
import time
a = 1
def start():
time.sleep(1)
print(a)
if a == 1:
print("start if", a)
stop()
else:
print("start else")
continues()
def stop():
print("stop")
if a == 2:
print("stop if", a)
start()
else:
print("stop else")
continues()
def continues():
if a == 1:
print("continues")
start()
else:
print("continues else")
stop()
Ответы (1 шт):
Автор решения: Эникейщик
→ Ссылка
Рекурсия должна а) заканчиваться return, б) для двух разных условий return должен содержать разное. Один раз саму функцию (потому и рекурсия), другой раз какое-то фиксированное значение (как раз, чтобы рекурсия завершилась).