[英]The sum of prime number is incorrect
The code is not returning the sum of of the prime numbers, what I'm i doing wrong?代码没有返回素数的总和,我做错了什么?
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)
please Try this.请试试这个。
2 is a prime number, you need to include that. 2 是一个质数,你需要包括它。 also 3, you are checking > 3 , it should be >=
还有 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)
I changed the following lines of the code the if conditon I changed it to if number >= 2
instead of if number > 3
since two is a prime as well, it would need to be added in the sum as well.我更改了以下代码行 if 条件我将其更改为
if number >= 2
而不是if number > 3
因为二也是素数,因此也需要将其添加到总和中。
Note : That the range function always starts generating iterables with a 0
not a 1
and ends with one less than the limit so for example:注意:范围函数总是开始生成
0
而不是1
可迭代对象,并以小于限制的1
结束,例如:
range(0, 4)
范围(0, 4)
would generate numbers from 0 to 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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.