通过让函数不断调用自身,直到函数可以代入给定的初值,这样可以实现递归结构。递归结构往往都可以用循环结构来代替,而且循环结构的执行效率有可能更高,但递归结构更容易理解。
下面的例子实现一个整数累加函数。
>>> def accu(n):
if n==1:
return 1
else :
return n+accu(n-1)
>>> accu(6)
21
这个递归函数实现的就是从1依次加到6所得的累加值。这个函数也可以用for循环来实现,但是不如递归的方式符合我们的思维习惯。
递归函数总体上有两部分组成:
1.基线条件:即初始值应该返回的结果;
2递归条件:即如何从n递归到初始值,n与n-1的关系。
网友评论