如何用PYTHON递归算法解决数字相加问题

时间:2026-02-13 15:37:01

1、打开JUPYTER NOTEBOOK,新建一个空白的PY文档。

如何用PYTHON递归算法解决数字相加问题

2、l = [1, 3, 33, 43, 9]

sum = 0

for i in l:

    sum += i

print(sum)

如果用FOR循环的话,可以逐个进行相加。

如何用PYTHON递归算法解决数字相加问题

3、def plus(n):

如果用递归的方式,那么我们可以先定义一个函数。

如何用PYTHON递归算法解决数字相加问题

4、l = [1, 3, 33, 43, 9]

def plus(n):

    n = 43

    if n in l:

        return n + plus(n-1)

设置条件进行递归。

如何用PYTHON递归算法解决数字相加问题

5、l = [1, 3, 33, 43, 9]

def plus(list):

    return list[0] + plus(list[1:])

对于列表,实际上这样操作会更好,因为可以每个数的大小排序,每次都调用第一个,不断缩小范围。

如何用PYTHON递归算法解决数字相加问题

6、l = [1, 3, 33, 43, 9]

def plus(list):

    if list == []:

        return 0

    return list[0] + plus(list[1:])

记得要设置暂停的条件。

如何用PYTHON递归算法解决数字相加问题

7、l = [1, 3, 33, 43, 9]

def plus(list):

    if list == []:

        return 0

    return list[0] + plus(list[1:])

plus(l)

运行一下就知道结果是正确的。

如何用PYTHON递归算法解决数字相加问题

8、list[0] + plus(list[1:])

1 + [3, 33, 43, 9]

1 + 3 + [33, 43, 9]

1 + 3 + 33 + [43, 9]

1 + 3 + 33 + 43 + [9]

1 + 3 + 33 + 43 + 9

1 + 3 + 33 + 43 + 9 + 0

89

这个是实际的运算过程。

如何用PYTHON递归算法解决数字相加问题

9、l = [1, 3, 33, 43, -9]

def plus(list):

    if list == []:

        return 0

    return list[0] + plus(list[1:])

plus(l)

测试一下其他的列表也是可以运算的。

如何用PYTHON递归算法解决数字相加问题

© 2026 长短途
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com