def refunc(n):
i=1
if n>1: #递归的结束判断
i=n
n=n*refunc(n-1) #递推
print"%d!=" %i,n
return n #回归
refunc(5)
print
print'使用reduce计算阶乘'
i=1
if n>1: #递归的结束判断
i=n
n=n*refunc(n-1) #递推
print"%d!=" %i,n
return n #回归
refunc(5)
print'使用reduce计算阶乘'
print"5!=",reduce(lambda x,y:x*y,range(1,6))
===================== RESTART: C:/Python27/recursior.py =====================
1!= 1
2!= 2
3!= 6
4!= 24
5!= 120
使用reduce计算阶乘
5!= 120
>>>