""" factorial.py Looking at functions, doctests, and test-driven deveopment. """ def factorial(n): """ Return the factorial of n, i.e. n!, which is n * (n-1) * ... 2 * 1 >>> factorial(2) 2 >>> factorial(5) 120 """ result = 1 for x in range(2, n+1): result = result * x return result def main(): print("-- factorial --") n = int(input("What is n? (i.e. 5) ")) print("{}! is {}.".format(n, factorial(n))) if __name__ == "__main__": import doctest doctest.testmod() main()