PEP 342 , «Сопрограммы с помощью улучшенных генераторов», приводит в качестве примера 3 «Простой планировщик сопрограмм или« батут », который позволяет сопрограммам« вызывать »другие сопрограммы, получая сопрограмму, которую они хотят ссылаться. - вам не нужно много общности (или какого-либо из аспектов общности, впервые введенных в PEP 342), для этой очень специфической задачи, учитывая, что сопрограммы ничего не сообщают друг другу, их всего два, их порядок последовательность абсолютно регулярна, нет завершения и т. д. и т. д. ... но небольшое подмножество этого кода все еще стоит реализовать, поскольку оно показывает вам больше о сопрограммах, чем этот чрезвычайно простой пример сам по себе.
Две сопрограммы, вероятно, должны быть двумя экземплярами одной и той же функции генератора, отличающейся только начальной точкой (нет смысла писать, что while True:
повторяется дважды, учитывая простоту его тела ;-). Как вы увидите, интересной частью является батут, хотя вы можете и должны сделать его намного проще, чем общий в PEP 342.