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)、设置正确的返回条件 

 

posted @ 2021-03-08 21:41  小鲨鱼2018  阅读(857)  评论(0编辑  收藏  举报