我没有看到如何消除该错误。是否由于使用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)
答案 0 :(得分:3)
您已经用整数替换了导入的count
函数,这意味着您将以count = 0
开始您的主函数。下次尝试将其作为函数调用时,会出现此错误。