I hope this is not too much of a stupid question, but why does the \'return 1\' statement in this Python code return the factorial of a number? This also happens for \'return Tr
in python when you multiply a number by True it will operate like you are multiply by One, and when you multiply a number by False it will operate like when you multiply by Zero.
so this is why you get a factorial af a number even if you use:
return True
instead of
return 1
but if you will call factorial(0) you will get True instead of 1.
n == 0
is the base case of the recursive function. Factorial of 0 is 1: reference
Once the base case returns 1, the statement return n * factorial(n-1)
will have the form: return n * 1
and so on.