26. Pythonでの例
from __future__ import print_function
one = lambda: 1
two = lambda: 2
to_list = lambda *fs: [f() for f in fs]
do = lambda *args: args[0](*args[1:])
do(print,
do(sum,
do(to_list, one, two)))
27. 素直に書くと……
one = 1
two = 2
test_data = [one, two]
result_sum = sum(test_data)
print result_sum
49. 素直に書くと……
def fizzbuzz(x):
if x % 15 == 0:
return "FizzBuzz"
if x % 3 == 0:
return "Fizz"
if x % 5 == 0:
return "Buzz"
return x
for x in range(1, 100):
print fizzbuzz(x)
51. 問題: lambda_fizzbuzz
from __future__ import print_function
def function_fizzbuzz(x):
#fizzとbuzzの関数を定義すること
#ただし、lambdaだけで定義せよ
return fizz(buzz(x))
[print(function_fizzbuzz(x)) for x in range(1,
100)]
83. 問題: lambda_fizzbuzz
from __future__ import print_function
def function_fizzbuzz(x):
#fizzとbuzzの関数を定義すること
#ただし、lambdaだけで定義せよ
return fizz(buzz(x))
[print(function_fizzbuzz(x)) for x in range(1,
100)]
84. 解答: lambda_fizzbuzz
from __future__ import print_function
_div_to_str = lambda x, y: lambda _x: "" if _x % x else y
_buzz = _div_to_str(5, "Buzz")
buzz = lambda x: [_buzz(x), x]
__fizz = _div_to_str(3, "Fizz")
_fizz = lambda x: [__fizz(x[1]) + x[0], x[1]]
fizz = lambda x: print(_fizz(x)[0]) if (_fizz(x)[0]) else
print(x[1])
fizzbuzz = lambda x: fizz(buzz(x))
[fizzbuzz(x) for x in range(1, 100)]
96. 問題: decorator_fizzbuzz
from __future__ import print_function
@fizz
@buzz
def decorator_fizzbuzz(x):
pass
[print(decorator_fizzbuzz(x)) for x in range(1,
100)]