«Обновление объекта генератора в python, присваивая разные значения» - PullRequest
0 голосов
/ 10 июня 2019

"У меня есть объект генератора, который генерирует числа от 1-n. Теперь я хочу обновить значения объекта генератора с другими значениями."

Моя функция генератора

def generates(n):
    i = 1
    while n > 0:
        yield i
        i+=1
        n-=1
g = generates(15)

объект g имеет значения от 1-n

import math
def is_prime(n):
    if n == 1:
        return False
    if n % 2 == 0 and n > 2: 
        return False
    for i in range(3, int(math.sqrt(n)) + 1, 2):
        if n % i == 0:
            return False
    return True
def primes_to_n(n):
    list_ = list()
    i = 1
    while n > 0:
        if is_prime(i):
            list_.append(i)
            n -= 1
        i += 1
    return list_

primes_to_n генерирует список из n простых чисел

Теперь я хочу обновить исходные значения функции генератора и должен вернуть список простых чисел в качестве объекта генератора.

def primes(g, n):
    list_ = primes_to_n(n)
    for i in range(n):
        next(g) = list_[i]
        ## Error while assigning values to next(g)
    return g

Желаемый результат = [2, 3, 5, 7, 11, 13, 17]

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