在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
例如,计算阶乘 n! = 1 x 2 x 3 x … x n,用函数fact(n)表示。
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
所以,fact(n)
可以表示为n x fact(n-1)
,只有n=1
时需要特殊处理。
fact(n)用递归的方式实现:
def fact(n):
if n==1:
return 1
return n * fact(n - 1)