我很震惊,需要帮助。我想从给定的整数列表中找到素数的总和。这里有一些相同的测试用例。
n([3,3,1,13])
19
n([2,4,6,9,11])
13
n([-3,0,1,6])
0
我编写的代码如下,但上面的测试用例失败了。
def sumprimes(n):
sum1 = 0
for i in range(0,len(n)):
num = n[i]
if num > 1:
for j in range(2, int(num**0.5)+1):
if num%j != 0:
sum1 = sum1 + num
else:
sum1 = 0
return(sum1)
原文由 Agarwal Prega 发布,翻译遵循 CC BY-SA 4.0 许可协议
这部分是错误的:
您正在对范围内未相除的每个数字求和
num
。如果他们 都 没有分开,你应该总结一下。这样做的简单方法是:
或者以更 pythonic 的方式使用
all()
: