TypeError: объект 'int' не вызывается (ошибка генератора) - PullRequest
0 голосов
/ 20 февраля 2019

Я не вижу, как я могу избавиться от ошибки.Это происходит из-за использования 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 голосов
/ 20 февраля 2019

Вы заменили импортированную вами функцию count на целое число, так как вы начинаете свою основную с count = 0.В следующий раз, когда вы попытаетесь вызвать его как функцию, вы получите эту ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...