Python案例实操——定义⼀个求阶乘的函数Python案例实操
多种⽅式计算阶乘
循环
使⽤循环是最简单的⼀种⽅式,也⽐较实⽤。
# ⽅法⼀:使⽤循环来计算阶乘
a =int(input("请输⼊⼀个数,计算其阶乘\n"))
_sum =1
for i in range(1,a+1):
_sum *= i
print(_sum)
使⽤递归
递归函数的使⽤⼀定要注意循环停⽌条件,这也是递归函数的难点。
# ⽅法⼆:使⽤递归来计算阶乘
a =int(input("请输⼊⼀个数,计算其阶乘\n"))
def fun(n):
if n ==1:
return1
elif n ==0:
return0
else:
return fun(n-1)* n
_sum = fun(a)
print(_sum)
使⽤reduce函数
Python在functools模块中提供了reduce()函数,该函数使⽤制定函数对序列对象进⾏累积
可⽤过duce)来查看该函数的⽤法:reduce(function, sequence[, initial])
import functools
def fun(x,y):
return x*y
def fract(n):
if(n <1):
c语言用递归函数求n的阶乘return
else:
duce(fun,range(1, n+1))
#  duce(lambda x,y: x * y, range(1,n+1))
print(fract(5))
其中倒数第⼆、三⾏的作⽤相同,只不过倒数第⼆⾏更加简洁。
reduce在本程序中作⽤就是从1到n,这些整数⼀个⼀个都分别给fun函数运⾏,达到了阶乘的⽬的。