I am trying to build the sieve of eratosthenes in python but I get a different result than I expect. I can't understand why. When I run the code below, I am supposed to get the prime numbers, but I also get not prime numbers in the list. If you run the code you will see what I mean.
#sieve of eratosthenes
#Objective: To find the sum of primes up to a number
target_number = 100
list_of_all_numbers = [*range(3,target_number,2)]
print(*list_of_all_numbers)
for number in list_of_all_numbers:
for i in list_of_all_numbers:
if number != i and number%i == 0 and number in list_of_all_numbers:
list_of_all_numbers.remove(number)
break
sum = 0
for i in list_of_all_numbers:
sum += i
print(sum+2)
print(list_of_all_numbers)