こもろぐ @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

広告:本ブログで紹介している書籍等商品の紹介でAmazonアソシエイトを利用していることがあります。

FizzBuzz問題 感想編

自分の力だけじゃないけど、投稿してみた。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