自分の力だけじゃないけど、投稿してみた。pythonで9位。61バイトか。56バイトってどんなコードですか。
print map(lambda x: 'FizzBuzz' if x%15 == 0 else 'Fizz' if x%3 == 0 else 'Buzz' if x%5 == 0 else x, range(1, 101))
map+lambda、mapいいなー
fizzbuzz = ((3,‘Fizz’), (5,‘Buzz’)) def fizzify(n): fb = ”.join(b for a,b in fizzbuzz if n%a == 0) return fb or str(n) for i in xrange(1,100): print fizzify(i)
ジェネレータがよくわかってませんが、剰余を求める箇所が1カ所になってるのが美しい。
pythonのインデントを使って綺麗に書くとしたら、これくらいがいいのかなというのが、今日考えた以下のコード。
for i in range(1,101): x="" if (i%3 == 0): x += "Fizz" if (i%5 == 0): x += "Buzz" print x or i
これで200人に1人の逸材に!(w