@bphi избил меня до ответа, но вот некоторые подробности о том, почему его решение работает:
Каждый раз, когда функция yield
включена в функцию, остальная часть кода в этом теле будет не запускается до тех пор, пока не будет использован генератор, созданный с помощью yield
. Это просто побочный продукт того, как yield
работает в python. Если вы когда-либо захотите выполнить код в той же функции, что и у вас, yield
, просто вставьте его в пустой цикл for
, например, продемонстрированный bphi