pythonのジェネレータを使ってFizzBuzz

Pythonろくに出来もしないのに
急遽Advent Calendarに参戦してしまい
書く内容を考えないといけなくてかなり焦ってたのに

途中でつい遊んでしまい...

まあなんとか一応記事は書き終わったので
その時遊んだ内容について書きますw


最近pythonを始めたばかりで
ジェネレータやらを初めて知ったので使ってみたくて
ちょっと練習で無理矢理FizzBuzzを実装してみました。

def fizz():
    while True:
        yield ""
        yield ""
        yield "fizz"

def buzz():
    while True:
        yield ""
        yield ""
        yield ""
        yield ""
        yield "buzz"

def fizzbuzz():
    cnt = 0
    f = fizz();
    b = buzz();
    while True:
        cnt += 1
        res = next(f)
        res = res + next(b)
        if res == "":
            res = str(cnt)
        yield res

fb = fizzbuzz()
[print(next(fb)) for i in range(20)]