次のお二人の記事
を読んで、if
文を使わずにFizzBuzz
を解こうとして、剰余演算子%
も使わずに、次のようなコードを書いたことを思い出しました。
def fizzbuzz(n):
def set_fizzbuzz(d, s):
for i in range(0, n, d):
fb[i] = s
n += 1
fb = [i for i in range(n)]
set_fizzbuzz(3, "Fizz")
set_fizzbuzz(5, "Buzz")
set_fizzbuzz(15, "FizzBuzz")
return fb[1:]
print(*fizzbuzz(100), sep="\n")
今、計算量なんか気にせずにif
を使わないことだけを考えて書くのが“マイブーム”になっているんです。
追記(2023/7/7)
その後、こんなのもできました。
for i in range(100):
print("Fizz"*(i%3==2) + "Buzz"*(i%5==4) or i+1)