我们如果想要去使用递归函数,就要注意一下,这个递归函数是需要自己调用自己,并且还要注意下结束条件和调用的深度才可以,之前也给大家介绍过实现阶乘,使用递归函数是最快,最优的方法,大家知道方法了,那知道怎么去实践吗?可以跟着我,一起来阅读下文,看下方法。
使用递归实现N阶乘
def factorial(n): print(n) #递归结束条件n = 1结束 if n > 1: # n*n-1,理解factorial调用自己 return n * factorial(n-1) return n factorial(5)
结果:
5 4 3 2 1 120
如图所示:
问题:将n设置一个较大数字报异常:
RecursionError: maximum recursion depth exceeded in comparison
为什么在最后结尾,给大家说会报错情况?那是因为,我们在使用递归函数时候,一定要注意递归层数不能太多,否则,可能会报异常。