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. also 3, you are checking > 3 , it should be >=
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.
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:
range(0, 4)
would generate numbers from 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 technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.