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