Family Day update
This commit is contained in:
parent
aac6731f2c
commit
9ad63ea473
2442 changed files with 39761 additions and 8255 deletions
|
|
@ -1,9 +1,12 @@
|
|||
from functools import (reduce)
|
||||
from operator import (add)
|
||||
'''Sierpinski triangle'''
|
||||
|
||||
from functools import reduce
|
||||
from operator import add
|
||||
|
||||
|
||||
# sierpinski :: Int -> String
|
||||
def sierpinski(n):
|
||||
'''Nth iteration of a Sierpinksi triangle.'''
|
||||
def go(xs, i):
|
||||
s = ' ' * (2 ** i)
|
||||
return concatMap(lambda x: [s + x + s])(xs) + (
|
||||
|
|
@ -14,6 +17,12 @@ def sierpinski(n):
|
|||
|
||||
# concatMap :: (a -> [b]) -> [a] -> [b]
|
||||
def concatMap(f):
|
||||
'''A concatenated list or string over which a function f
|
||||
has been mapped.
|
||||
The list monad can be derived by using an (a -> [b])
|
||||
function which wraps its output in a list (using an
|
||||
empty list to represent computational failure).
|
||||
'''
|
||||
return lambda xs: (
|
||||
reduce(add, map(f, xs), [])
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue