Я не вижу, как я могу избавиться от ошибки.Это происходит из-за использования while
?Я хочу напечатать первые 12 не простых чисел.
from math import sqrt
from itertools import count, islice
def is_prime(n):
if n < 2:
return False
for number in islice(count(2), int(sqrt(n) - 1)):
if n % number == 0:
return False
return True
def positive_integers_generator():
n = 1
while True:
x = yield n
if x is not None:
n = x
else:
n += 1
k = 12
g = positive_integers_generator()
count = 0
while count < k:
value = next(g)
if not is_prime(value):
count += 1
print(value)