Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
4
Task/Anonymous-recursion/Python/anonymous-recursion-1.py
Normal file
4
Task/Anonymous-recursion/Python/anonymous-recursion-1.py
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
>>> Y = lambda f: (lambda x: x(x))(lambda y: f(lambda *args: y(y)(*args)))
|
||||
>>> fib = lambda f: lambda n: None if n < 0 else (0 if n == 0 else (1 if n == 1 else f(n-1) + f(n-2)))
|
||||
>>> [ Y(fib)(i) for i in range(-2, 10) ]
|
||||
[None, None, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
||||
5
Task/Anonymous-recursion/Python/anonymous-recursion-2.py
Normal file
5
Task/Anonymous-recursion/Python/anonymous-recursion-2.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
>>>from functools import partial
|
||||
>>> Y = lambda f: (lambda x: x(x))(lambda y: partial(f, lambda *args: y(y)(*args)))
|
||||
>>> fib = lambda f, n: None if n < 0 else (0 if n == 0 else (1 if n == 1 else f(n-1) + f(n-2)))
|
||||
>>> [ Y(fib)(i) for i in range(-2, 10) ]
|
||||
[None, None, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
||||
5
Task/Anonymous-recursion/Python/anonymous-recursion-3.py
Normal file
5
Task/Anonymous-recursion/Python/anonymous-recursion-3.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
>>> from functools import partial
|
||||
>>> Y = lambda f: partial(f, f)
|
||||
>>> fib = lambda f, n: None if n < 0 else (0 if n == 0 else (1 if n == 1 else f(f, n-1) + f(f, n-2)))
|
||||
>>> [ Y(fib)(i) for i in range(-2, 10) ]
|
||||
[None, None, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
||||
9
Task/Anonymous-recursion/Python/anonymous-recursion-4.py
Normal file
9
Task/Anonymous-recursion/Python/anonymous-recursion-4.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
>>> from inspect import currentframe
|
||||
>>> from types import FunctionType
|
||||
>>> def myself (*args, **kw):
|
||||
... caller_frame = currentframe(1)
|
||||
... code = caller_frame.f_code
|
||||
... return FunctionType(code, caller_frame.f_globals)(*args, **kw)
|
||||
...
|
||||
>>> print "factorial(5) =",
|
||||
>>> print (lambda n:1 if n<=1 else n*myself(n-1)) ( 5 )
|
||||
4
Task/Anonymous-recursion/Python/anonymous-recursion-5.py
Normal file
4
Task/Anonymous-recursion/Python/anonymous-recursion-5.py
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
>>> Y = lambda f: lambda n: f(f,n)
|
||||
>>> fib = lambda f, n: None if n < 0 else (0 if n == 0 else (1 if n == 1 else f(f,n-1) + f(f,n-2))) #same as the first three implementations
|
||||
>>> [ Y(fib)(i) for i in range(-2, 10) ]
|
||||
[None, None, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
||||
3
Task/Anonymous-recursion/Python/anonymous-recursion-6.py
Normal file
3
Task/Anonymous-recursion/Python/anonymous-recursion-6.py
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
>>> fib_func = (lambda f: lambda n: f(f,n))(lambda f, n: None if n < 0 else (0 if n == 0 else (1 if n == 1 else f(f,n-1) + f(f,n-2))))
|
||||
>>> [ fib_func(i) for i in range(-2, 10) ]
|
||||
[None, None, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
||||
Loading…
Add table
Add a link
Reference in a new issue