A recursive function is a function that makes a call to itself.
To prevent infinite recursion, you need at least one branch (i.e. of an if/else statement) that does not make a recursive call. Branches without recursive calls are called base cases; branches with recursive calls are called recursive cases.
def factorial_recursive(n)
if n == 0