Код приводит к добавлению в список нечетных чисел, а не простых чисел. Если нечетное число не делится на 3, то список сгенерирует конкретное число как минимум 3 раза:
for i in range(2,100):
for x in range(2,i):
if (i %x==0):
break
else:
prime.append(i)
print(prime)
Я ожидал создать один список простых чисел в диапазоне (2, 100). Однако фактический вывод:
...
[3, 5, 5, 5, 7, 7, 7, 7, 7, 9]
[3, 5, 5, 5, 7, 7, 7, 7, 7, 9, 11]
[3, 5, 5, 5, 7, 7, 7, 7, 7, 9, 11, 11]
...