После небольшого чтения на генераторах и оператора yield. Я понял, что генераторы выводят только значение, отбрасывают его и выводят другое значение и т. Д. ... Я пытался найти способ возобновить вывод для следующие функции после того, как питон квиты
counter=0
def product(*args, repeat=1):
global counter
pools = [tuple(pool) for pool in args] * repeat
#yield pools
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
counter=counter+1
if counter>11:
yield tuple(prod)
def product_function():
for i in product('abc',repeat=3):
print(i)
print(counter)
product_function()
я, наконец, решил поставить в немного переменном счетчике и после счетчика больше о том, что 11-е слово, то все более значения (слова) будет получено и напечатано. Я полагаю, что я мог бы написать некоторые коды для хранения переменной счетчика в отдельном файле всякий раз, когда программа завершает работу, и всякий раз, когда программа перезагружается, она вытягивает последнюю переменную-счетчик из файла, чтобы возобновить вывод. надеюсь, что это сработает ..
ваш код исчерпает итератор, так что это не совсем ясно. – wim