def fact(n):
    """ calculate the factorial function iteratively """

    i = 1
    f = 1
    while i<=n:
        f = f * i
        i = i + 1
        
    return f

print fact(4)

def factr(n):
    """ calculate the factorial function recursively """
    if n == 0: return 1
    
    return n * fact(n-1)

print factr(4)