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

2025-10-18 16:59:44

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递归算法解决数字相加问题

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢