递归

def countdown(n):
    if n < 0: #base case
        print "the loop is end"
    else:
        print n
        countdown(n - 1)  # call itself
  
countdown(3)

输出:

3

2

1

0

the loop is end 

像这样一个函数在函数体内,调用自身,叫做递归调用

这样的处理过程就叫做递归

在上面的函数中像 if < 0 的语句算是递归的“出口”,也就是当前函数的终止条件,如果没有类似的代码,函数会一直运行下去。

python 会提示

Runtime Error: maximum recursion depth exceeded。

maxinum一般为1000。

20130716 修订,修订错别字。

原文地址:https://www.cnblogs.com/mengfanhao/p/3180385.html