Hatena::Grouppython

HM python

Pythonについて覺えたことや疑問に思ったこと、及び參考にしたリソースをメモして行く感じで。面倒なのでマーク附けは最小限に。

 | 

2007-05-13

map函數でFizz-Buzz

Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想を讀んで、Pythonで同じやうにmap函數を使ったFizz-Buzzを書いてみた。

def fizzbuzz (n):
    if n % 3 == 0 and n % 5 == 0:
        return "FizzBuzz"
    elif n % 3 == 0:
        return "Fizz"
    elif n % 5 == 0:
        return "Buzz"
    else:
        return n

ls = range(1, 101)
print map(fizzbuzz, ls)

實行結果:

[1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz', 13, 14,
'FizzBuzz', 16, 17, 'Fizz', 19, 'Buzz', 'Fizz', 22, 23, 'Fizz', 'Buzz', 26,
'Fizz', 28, 29, 'FizzBuzz', 31, 32, 'Fizz', 34, 'Buzz', 'Fizz', 37, 38, 'Fizz',
'Buzz', 41, 'Fizz', 43, 44, 'FizzBuzz', 46, 47, 'Fizz', 49, 'Buzz', 'Fizz', 52,
53, 'Fizz', 'Buzz', 56, 'Fizz', 58, 59, 'FizzBuzz', 61, 62, 'Fizz', 64, 'Buzz',
'Fizz', 67, 68, 'Fizz', 'Buzz', 71, 'Fizz', 73, 74, 'FizzBuzz', 76, 77, 'Fizz',
79, 'Buzz', 'Fizz', 82, 83, 'Fizz', 'Buzz', 86, 'Fizz', 88, 89, 'FizzBuzz', 91,
92, 'Fizz', 94, 'Buzz', 'Fizz', 97, 98, 'Fizz', 'Buzz']

參考

2.1 組み込み関数:

map(function, list, ...)
functionlist の全ての要素に適用し、返された値からなるリストを返します。追加の list 引数を与えた場合、 function はそれらを引数として取らなければならず、関数はそのリストの全ての要素について個別に適用されます; 他のリストより短いリストがある場合、要素 None で延長されます。function が None の場合、恒等関数であると仮定されます; すなわち、複数のリスト引数が存在する場合、map() は全てのリスト引数に対し、対応する要素からなるタプルからなるリストを返します (転置操作のようなものです)。list 引数はどのようなシーケンス型でもかまいません; 結果は常にリストになります。
2.1 組み込み関数

關聯記事

 | 
MORIYAMA Hiroshi <hiroshi@kvd.biglobe.ne.jp>