python中写一个求阶乘的函数
1、利用迭代
def fun(n): ## 定义求阶乘函数
result = 1
for i in range(1,n + 1):
result *= i
return result
n = int(input("please input the number:")) ## 指定用户输入
result = fun(n)
print("%d的阶乘是:%d" % (n,result)) ## 输出结果
please input the number:4
4的阶乘是:24
2、递归
递归:从原理上来说就是函数调用自身的行为。在函数内部可以调用所有可见的函数,当然也包括它自己。
def fun(n):
if n == 1: ## 终止信号(返回条件)
return 1
else:
return n * fun(n - 1) ## 调用函数本身
n = int(input("please input the number:"))
result = fun(n)
print("%d 的阶乘是:%d" % (n,result))
please input the number:3
3 的阶乘是:6
递归的两个条件:
(1)、调用函数本身
(2)、设置了正确的返回条件