"У меня есть объект генератора, который генерирует числа от 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]