""" factorial.py factorial(n) = n*(n-1)*(n-2)* ... * 3*2*1 factorial(6) = 6*5*4*3*2*1 = 8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 1 8! = 8 * 7! factorial(n) = n * factorial(n-1) In class May 13 """ def fact_loop(n): """ Calcuate the factorial of n using a loop """ answer = 1 while n > 1: answer = answer * n n = n -1 return answer def fact_recursion(n): """ Calcuate the factorial of n using recursion """ print(" in fact_recursion with n = ", n) if n == 1: return 1 else: return n * fact_recursion(n-1) def main(): n = int(input("What is n? ")) print(f"Factorial of {n} with a loop is {fact_loop(n)}.") print(f"Factorial of {n} with recursion is {fact_recursion(n)}.") if __name__ == "__main__": main()