TypeError:“ int”对象不可调用(生成器错误)

时间:2019-02-20 14:06:04

标签: python generator

我没有看到如何消除该错误。是否由于使用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)

1 个答案:

答案 0 :(得分:3)

您已经用整数替换了导入的count函数,这意味着您将以count = 0开始您的主函数。下次尝试将其作为函数调用时,会出现此错误。