algorithm for factorial in python
def factorial(n):
for x in range(n-1,0,-1):
n = n*x
if n == 0: return 1
if n < 0 : return False
return n
factorial(5) # returns 120
####### lambda Factorial ########
factorial = lambda n: n*factorial(n-1) if n > 0 else 1
#OR
factorial = lambda n: n>0 and n*factorial(n-1) or 1
######### Recursion ##########
def factorial(n):
if n <= 0: return 1
else: return n * factorial(n-1)
# Do not use big number XD