Я пытаюсь создать счетчик с генератором, однако я также хочу иметь возможность отправлять () и обновлять входные данные генератора (хотя не обязательно давать этот вход).
def numberGenerator(n):
number = 0
while number < n:
yield number
number += 1
Я хочу иметь возможность сделать g = numberGenerator (5) -> next (g), 0 -> next (g), 1 -> g.send (10), чтобы обновить значениеn, так что генератор не остановится, когда он выдаст 4, но продолжит выводить до 9. Как бы я поступил так, сохраняя при этом счетчик «номер»?
Я тоже очень запуталсяо том, когда я ввожу g.send (10), потому что он выводит 2. Насколько я понимаю, я думаю, что значение send отправляется в строку номера выхода, а затем выполняется код ниже. Разве он не должен возвращать 11 на основе приведенного выше кода?
Я подумал о том, чтобы попробовать другой выход, чтобы мы могли на самом деле отправить значение n, но я не слишком уверен, как это будет взаимодействовать с next) и я не обязательно хочу сохранить значение n.