质数之和不正确
The sum of prime number is incorrect
代码没有返回质数之和,我做错了什么?
the_sum = 0
for number in range(20):
if number > 3:
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print (the_sum)
the_sum = 0
for number in range(20):
if number >= 3:
for i in range(2,number):
if (number%i)==0:
break
elif i == (number-1):
the_sum += number
elif number==2:
the_sum += number
print (the_sum)
请试试这个。
2 是质数,您需要将其包括在内。还有 3,你检查的是 > 3 ,它应该是 >=
the_sum = 0
for number in range(2,20):
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print(the_sum)
我更改了代码的以下几行,如果条件我将其更改为 if number >= 2
而不是 if number > 3
因为两个也是质数,所以需要将其添加到总和中作为嗯。
注意:范围函数总是以 0
而不是 1
开始生成迭代,并以小于限制的 1 结束,例如:
range(0, 4)
将从 0 to 4
生成数字
the_sum = 0
for number in range(1, 4):
# numbers = [1, 2, 3,]
if number >= 2:
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print (the_sum)
代码没有返回质数之和,我做错了什么?
the_sum = 0
for number in range(20):
if number > 3:
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print (the_sum)
the_sum = 0
for number in range(20):
if number >= 3:
for i in range(2,number):
if (number%i)==0:
break
elif i == (number-1):
the_sum += number
elif number==2:
the_sum += number
print (the_sum)
请试试这个。
2 是质数,您需要将其包括在内。还有 3,你检查的是 > 3 ,它应该是 >=
the_sum = 0
for number in range(2,20):
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print(the_sum)
我更改了代码的以下几行,如果条件我将其更改为 if number >= 2
而不是 if number > 3
因为两个也是质数,所以需要将其添加到总和中作为嗯。
注意:范围函数总是以 0
而不是 1
开始生成迭代,并以小于限制的 1 结束,例如:
range(0, 4)
将从 0 to 4
the_sum = 0
for number in range(1, 4):
# numbers = [1, 2, 3,]
if number >= 2:
for i in range(2,number):
if (number%i)==0:
break
else:
the_sum += number
print (the_sum)