Python allows us to condition the definition of a function. Since the function is defined during the execution of the code itself we can use a conditional statement in order to define the function that fits most.
recursive = True
if recurcive:
def factorial(n):
print("within recursive factorial")
if n==0:
return 1
else:
return factorial(n-1)*n
else:
def factorial(n):
print("within simple factorial")
index = 1
total = 1
while index<n:
total *= index
index+=1
return total
print(factorial(3))
The following short video clip shows that.







