Рекурсия как остановить

Как должна заканчиваться рекурсия? выскакивает 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 должен содержать разное. Один раз саму функцию (потому и рекурсия), другой раз какое-то фиксированное значение (как раз, чтобы рекурсия завершилась).

→ Ссылка