Hatena::Groupfizzbuzz

id:tyruが<del>毎日</del>気が向いたらFizzBuzzを一生懸命書く日記

 | 

2010-07-20Python このエントリーのブックマークコメント

ちょっと前にPythonでBFインタプリタを作って絶賛放置中なのでなんとなく。

#!/usr/bin/env python
# coding: utf-8


def do_fizzbuzz(i):
	if i % 15 == 0:
		return "FizzBuzz"
	elif i % 5 == 0:
		return "Buzz"
	elif i % 3 == 0:
		return "Fizz"
	else:
		return str(i)

def fizzbuzz(*args):
	for i in apply(range, args):
		yield do_fizzbuzz(i)

def main():
	for s in fizzbuzz(1, 100):
		print s

if __name__ == '__main__':
	main()

便利だと思ったもの

  • ジェネレータ
  • シーケンス型
    • x in y, x not in y
    • 文字列が普通にシーケンス型として扱えることに感動した。Vimスクリプトいじりすぎて感覚がズレてる...
  • デコレータ

内包表記は速いらしいから使ってるけど別になくてもいいというか。

あとlambdaが式しかとれないのはなんでだろう。

 |