Обьясните код Python

Скажите почему если не написать IF ELSE то код не получиться и буден работать бесконечно? Оригинальный код

def calculateSum(num):
    if num:
        return num + calculateSum(num-1)
    else:
        return 0

res = calculateSum(10)
print(res)

И код который спрашиваю

def calculateSum(num):
     return num + calculateSum(num-1)
   
res = calculateSum(10)
print(res)

Ответы (1 шт):

Автор решения: Виктория

Это рекурсия: функция, которая вызывает сама себя. Она Прекратит вызывать саму себя в 2-х случаях: переполнение стека вызовов (условный мешок, в который можно положить несколько вещей в одном порядке, но доставать эти условные вещи нужно только в обратном порядке. При переполнении стека вызовов программа просто зависнет) , или точка выхода из рекурсии.

Оператор else в данном случае остановит вызов рекурсии.

→ Ссылка