FizzBuzz
なんのへんてつもないコード。
yield使って、generatorにしてみる。
このケースならitertoolsを使ったほうがカッコイイ。
countはnからstep(デフォルトは1)づつ増えていくgeneratorを作る関数です。
mapはいつの間にかイテレータに対応してくれてました。
素数
判定を書く
functoolsとoperatorで関数型っぽく書けて素敵ですね。
functools.partialは部分適用、operator.modは剰余です。
素数列を作る
なかなかいい感じ。
フィボナッチ数列
n番目のフィボナッチ数を返す関数
dict使って分岐する
switch的なものはdictで代用できるのでもーまんたいですね。
getの第二引数はキーが存在しない場合返ります。
イテレータ版
Pythonはなかなか関数型言語ちっくに書けて素敵ですね。
Rから始まる4文字のプログラミング言語より関数型っぽいです。
0 件のコメント:
コメントを投稿