- 递归指的是调用自己的函数。
- 每个递归函数都有两个条件:基线条件(base case)和递归条件(recursive case)。递归条件是函数调用自己,基线条件是函数不再调用自己,从而避免形成无限循环。
下面是一些例子:
#阶乘
def fact(x):
if x==1: #base case
return 1
else:
return x*fact(x-1) #recursive case
#斐波那契数列
def Fibonacci(x):
if x<=1:
return x
else:
return Fibonacci(x-1)+Fibonacci(x-2)
#数组求和
def sum(arr):
if arr==[]:
return 0
else:
return arr[0]+sum(arr[1:])
#计算列表包含的元素数
def count(list):
if list==[]:
return 0
else:
return 1+count(list[1:])
#找出列表中最大的数
def max(list):
if len(list)==2:
return list[0] if