递归

Python 3 :

1、使用递归实现倒计时

print ('倒计时:')
def countdown(i):
    print(i)
    if i >0:
        countdown(i-1)
    else:
        return

countdown(3)

2、使用递归实现列表元素相加

print ('使用递归实现数组元素加法:')
def sum(list):
    if list == []:
        return 0
    else:
        return list[0] + sum(list[1:])
        
my_arr = [2,4,6]
print(sum(my_arr))

3、使用递归计算列表包含的元素数

print ('使用递归计算列表包含的元素数:')
def sum(list):
    if list == []:
        return 0
    else:
        return 1 + sum(list[1:])

my_arr = [2,4,6]
print(sum(my_arr))

4、使用递归查找列表中最大的数字

print ('使用递归查找列表中最大的数字:')
def max(list):
    if len(list) <= 1:
        return list[0] if len(list) ==1 else 0
    if len(list) == 2:
        return list[0] if list[0]>list[1] else list[1]
    else:
        sub_max = max(list[1:])
        return list[0] if list[0]>sub_max else sub_max

my_arr = [4,2,7,9,1]
print(max(my_arr))

运行结果:

倒计时:
3
2
1
0
使用递归实现数组元素加法:
12
使用递归计算列表包含的元素数:
3
使用递归查找列表中最大的数字:
9

参考

1、《算法图解》https://www.manning.com/books/grokking-algorithms

你可能感兴趣的:(递归)