A terrible Fizzbuzz implementation

Posted on Thu 05 February 2026 in Software

from functools import reduce
from itertools import count

FACTORS = {3: 'fizz', 5: 'buzz'}

def fizzbuzz(n: int) -> str:
    s = reduce(str.__add__, (FACTORS[d] for d in FACTORS if n % d == 0), "")
    return s if s else str(n)

print(
    *map(fizzbuzz, range(1, 31)), sep='\n'
)