python中写一个求阶乘的函数

1、

>>> result = 1
>>> for i in range(1,5):     ## 4的阶乘
    result = result * i

    
>>> print(result)
24
>>> result = 1
>>> for i in range(1,6):      ## 5的阶乘
    result = result * i

    
>>> print(result)
120

2、

def fun(n):
    result = 1
    for i in range(1,n + 1):
        result *= i
    return result

n = int(input("please input an number:"))
output = fun(n)

print("%d 的阶乘是:%d" % (n, output))
please input an number:7
7 的阶乘是:5040
def fun(n):
    result = n
    for i in range(1,n):
        result *= i
    return result

n = int(input("please input an number:"))
outcome = fun(n)

print("%d 的阶乘是: %d" % (n, outcome))
please input an number:5
5 的阶乘是: 120

3、

def fun(n):
    if n == 1:
        result = 1
    else:
        result = n * fun(n - 1)
    return result

n = int(input("please input an number:"))
output = fun(n)

print("%d 的阶乘是: %d" % (n, output))
please input an number:3
3 的阶乘是: 6

递归:从理论上来说就是函数调用自身的行为。

满足递归的两个条件:

(1)、调用函数本身

(2)、设置正确的返回条件 

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14502457.html