我很震惊,需要帮助。。 我想从给定的整数列表中找到素数的和。这里有一些相同的测试用例。
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)
不要试图在一个函数中做所有事情。我把其余的逻辑分开了,但我将把isprime留给你:
这部分是错误的:
您正在对未划分的范围内的每个数字进行
num
求和。 如果所有的数都没有被除,你就应该求和。简单的方法是:
或者以一种更像Python的方式使用
all()
:相关问题 更多 >
编程相关推荐