# -*- Mode: Python; tab-width: 4 -*- import coroutine import sys def hot_potato_1 (n): global co2 while 1: if n == 0: coroutine.main ('done') else: n = coroutine.resume (co2, (n-1,)) def hot_potato_2 (n): global co1 while 1: if n == 0: coroutine.main ('done') else: n = coroutine.resume (co1, (n-1,)) co1 = coroutine.new (hot_potato_1) co2 = coroutine.new (hot_potato_2) print coroutine.resume (co1, (int(sys.argv[1]),))