I was able to finish some:
def sieve( n, primes):
numbers =[]
# make a list of integers from 0 to n, inclusive
for i in range(2, n+1):
numbers.append( i )
# by definition, the first prime is 2
del(numbers[ _____________ ])
del(numbers[ _____________ ])
# while there are still numbers in the list
while len(numbers) > -1:
# the first number is always a prime
prime = numbers[0]
primes.append( numbers )
del(numbers[0])
# make a list of indices where there are
# multiples of the current prime number
indices = []
for i in range(len(indices)):
if numbers[i] %2 == 0:
indices.append( i )
# reverse the indices for easy deletes
indices.reverse()
# delete these multiples since they're not primes
for index in _____________:
del(numbers[ ________________ ])