FizzBuzz

なんかはやりすぎだと思った。
じゃ、ま、こんなのでも。

from itertools import izip, repeat

def chain(iterable):
    for it in iter(iterable):
        for i in iter(it):
            yield i

def take(n, iterable):
    it = iter(iterable)
    for i in xrange(n):
        yield it.next()

print '\n'.join((x + y) or str(z) for x, y, z
                in take(100, izip(chain(repeat(('', '', 'Fizz'))),
                                  chain(repeat(('', '', '', '', 'Bazz'))),
                                  xrange(1, 101))))