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