В комментарии ОП говорится:
я получаю ошибку - "максимальная рекурсия"
глубина превышена ".
Вы можете попробовать увеличить предел рекурсии с помощью sys.recursionlimit (после import sys
, конечно), но это только поднимет вас до определенного уровня. В Python отсутствует оптимизация, известная как «устранение хвостовой рекурсии», которая (как ни странно, замечательный язык ;-) не делает его лучшим языком для конкретной цели обучения рекурсии (этот лучший язык, IMHO, но не просто на мой взгляд, была бы схема или какой-то вариант Lisp). Таким образом, если y
больше максимального предела рекурсии, который вы можете установить на своем компьютере (зависит от системы), эта ошибка неизбежно возникнет.
В качестве альтернативы, вы могли ошибочно закодировать «защиту базовой рекурсии», которая должна возвращаться без дальнейшей рекурсии, когда y
равно 0
, или вы, возможно, пытались вызвать функцию с y < 0
(что неизбежно "рекурсивно бесконечно", т. е. выдает вышеупомянутую ошибку, когда неизбежно превышен максимальный предел рекурсии).