如何使用Python中的sum()函数查找列表中所有正数的和?

2024-09-28 05:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑1:已解决!解决方案是使用@sushanth提供给我的i for i in arr if i > 0

代码的最终产品:

def positive_sum(arr):
    return sum(i for i in arr if i > 0)

我试图完成一些代码战挑战,我遇到了一个给我带来问题的挑战。给我一个正数和负数的列表,我应该找到所有正数的总和

以下是我已经拥有的:

def positive_sum(arr):
    for n in arr:
        if n < 0:
            arr.remove(n)
    return sum(arr)

以下是我应该处理的列表:

[1,2,3,4,5]
[1,-2,3,4,5]
[-1,2,3,4,-5]
[]      
[-1,-2,-3,-4,-5]

然而,每当我运行这些测试时,除了最后一个测试,所有的测试都通过了,所有的测试都是负数。出于某种原因,它的结果是-6,即使所有负数都应该被删除

为什么会这样?我应该做什么来确保所有的测试都通过


Tags: 代码in编辑列表forreturnifdef

热门问题