Вы устанавливаете одну переменную с именем prime
десять тысяч раз на 1
, затем 9998 раз, возможно, устанавливаете ее на 0, и, наконец, (если она не была установлена на 0) выводите одну неполную строку (без строки-конец).Я подозреваю, что это не то, что вы хотите сделать!Может быть что-то вроде ...:
output = open("output.dat", 'w')
for i in range(2, 10000):
prime = 1
for j in range(2, i-1):
if i%j == 0:
prime = 0
break
if prime == 1:
output.write(str(i) + " " )
output.close()
print "writing finished"
Обратите внимание на очень отступ, отличный от того, что вы опубликовали.Я также использовал break
, чтобы вырваться из внутреннего цикла, что, как мне кажется, вы имели в виду, когда написали j = i - 1
(что на самом деле не имело бы никакого эффекта, поскольку j
просто установило бы его следующее естественное значение вследующий этап этого внутреннего цикла, который все еще будет идти до конца).