Here are mine! They're a lot like elz's, but I'm only checking factors up to the square root. (Since all factors above the square root are "balanced" by factors below it, if I haven't encountered any factors by the time I get to the square root I'm not going to encounter any.)
Problem 1
import math
primes = [2]
x = 3
while len(primes) < 1000:
divisible = False
root = math.sqrt(x)
for y in primes:
if x % y == 0:
divisible = True
break
if y > root:
break
if not divisible:
print x
primes.append(x)
x += 2
no subject
Problem 1