1,递归实现sum()函数
def sum(list):
if list == []:
return 0
return list[0] + sum(list[1:])
list = [1,2,3,4]
print(sum(list))
2,递归计算列表中元素个数
def count(list):
if list == []:
return 0
return 1 + count(list[1:])
list = [1,2,3,4]
print(count(list))
3,递归找出列表中最大数
def max(list):
if len(list) == 2:
if list[0] > list[1]:
return list[0]
else:
return list[1]
sub_max = max(list[1:])
if list[0] > sub_max:
return list[0]
else:
return sub_max
list = [1,2,3,4,5]
print(max(list))
def max(list):
if len(list) == 2:
return list[0] if list[0] >list [1] else list[1]
sub_max = max(list[1:])
return list[0] if list[0] > sub_max else sub_max
list = [1,2,3,4,5]
print(max(list))
小结:在进行递归时,需要搞清问题的基本条件和递归条件,基本条件决定该递归函数什么时候结束;示例中的第一个return中返回基本条件值,第二个return返回整个函数的输出值(注,不要理解成if…else…的关系)