В то время как ваша функция возвращает генератор, и другие заявили, что все, что вам нужно сделать, это перебрать его, используя цикл или вызывая следующий по очереди. Python предоставляет вам отличную библиотеку под названием itertools
, которая делает именно это;это называется itertools.cycle
. Это весь код, который вам необходим для репликации ваших функций:
def yes_no():
return itertools.cycle(['yes', 'no'])
И, как говорили другие, генератор может быть перебран с помощью next
или цикла.
>>> c = yes_no()
>>> next(c)
'yes'
>>> next(c)
'no'
...