多语言展示
当前在线:742今日阅读:103今日分享:49

如何用PYTHON递归算法找出列表中最大数

PYTHON
工具/原料

PYTHON

方法/步骤
1

打开JUPYTER NOTEBOOK,新建一个PY文档。

2

list = [1, 3, 9, 7, 4]假设有个列表,我们需要找到最大的数。

3

max(list)实际上内置的这个函数max是可以解决这个问题的,但是我们需要知道实际程序是如何执行的。

4

max = list[0]for i in list:    if i > max:        max = iprint(max)用FOR循环也是可以解决这个问题的。

5

list = [1, 3, 9, 7, 4]def max(list):用递归的方式解决我们可以先设置一个函数。

6

list = [1, 3, 9, 7, 4]def max(list):    if list[0] > max(list[1:]):        return list[0]    else:        return max(list[1:])我们首先要进行递归的对比,从第一个和后面的进行对比。

7

list = [1, 3, 9, 7, 4]def max(list):    if len(list) == 2:        if list[0] > list[1]:            return list[0]        else:            return list[1]    if list[0] > max(list[1:]):        return list[0]    else:        return max(list[1:])    我们要设置一下暂停的条件,只剩下两个元素的时候,我们要进行最后的对比。

8

list = [1, 3, 9, 7, 4]def max(list):    if len(list) == 2:        if list[0] > list[1]:            return list[0]        else:            return list[1]    if list[0] > max(list[1:]):        return list[0]    else:        return max(list[1:])    max(list)测试一下结果是正确的。

9

list = [1, 3, 9, 7, 4]def max(list):    if len(list) == 2:        return list[0] if list[0] > list[1] else list[1]    return list[0] if list[0] > max(list[1:]) else max(list[1:])max(list)实际上可以简写一下流程。

10

1 和 [3, 9, 7, 4] 对比3 和 [9, 7, 4] 对比9 和 [7, 4] 对比7 和 4 对比7比4大,返回77比9小,返回93比9小,返回91比9小,返回9这是实际的运算过程。

注意事项

理解运算过程就可以理解编写的理由了

推荐信息