所谓递归,其实就是指某一函数——直接或间接——调用自己的操作。
下面将演示一个如何用递归的方式求解某一序列的求和:
def S(seq, i=0):
if (i == len(seq)): return 0
return S(seq, i+1) + seq[i]
1. 递归的实现
def foo(a, ...):
if 到达循环退出的条件成立(a, ...):
return ...
foo(new_a, ...)
2. 递归退出的条件
递归调用的函数,必须有循环退出的条件及相关判断,且必须在内部自己调用自己之前给出,如果在自己调用自己之后,就永远不会退出递归,进入死循环;