一些基本概念介绍:
阶乘:是指从1到n的连续自然数相乘的积。负数没有阶乘。
递归:函数作为一种代码封装,除了被其他程序正常调用外,还可以被函数内部代码调用。函数定义中调用函数自身的方式称为递归。
递归实现的两个关键点:
(1)存在一个或多个基例,基例不需要再次递归,它是确定的表达式。否则,无限递归将耗尽计算资源!
(2)所有递归链要以一个或多个基例结尾。
python递归求阶乘和的代码实现:
1 # 本程序:根据用户输入的整数n,计算并输出n的阶乘和 2 # 递归实现阶乘 3 def factorial(num): 4 if num == 1:# 给出了num为1时的基例,当num为1时该函数不再递归,返回1(即1的阶乘) 5 return 1 6 else: 7 return num * factorial(num-1)# 递归 8 9 # 递归实现阶乘和。举例,3的阶乘和=3!+2!+1! 10 def facSum(num): 11 if num == 1:# 给出了num为1时的基例,当num为1时该函数不再递归,返回1(即1的阶乘和) 12 return 1 13 else: 14 return factorial(num) + facSum(num-1)# 递归 15 n = eval(input("请输入一个整数: ")) 16 print(facSum(abs(int(n))))
标签:return,递归,基例,python,facSum,num,阶乘 From: https://www.cnblogs.com/onullo/p/17708308.html