def FizzBuzzCheck(n):
    if (n % 15)==0:
        return "FizzBuzz"
    elif (n % 3)==0:
        return "Fizz"
    elif (n % 5)==0:
        return "Buzz"
    else:
        return n

def rangeGenerator(min=0,max=0,step=1):
    n = min
    while(max==0 or n < max):
        yield n
        n = n + step

def generatorMap(gen,fn=lambda x:x):
    for item in gen:
        yield fn(item)

fzbz = generatorMap(rangeGenerator(max=100),FizzBuzzCheck)

for ii in fzbz:
    print ii

ジェネレータ版のrangeとmapを書いて実装してみた。