McNuggets problem: Difference between revisions

→‎List monad: Added a parallel list comprehension
(→‎Python List monad: (enumFromTo -> enumFromThenTo))
(→‎List monad: Added a parallel list comprehension)
Line 841:
 
def main():
'''List monad equivalent of the list (or set) comprehension.'''
 
def size(n):
return enumFromThenTo(0)(n)(100)
 
# List monad version
mcNuggets = set(
mcNuggets1 = (
bind(size(6))(
lambda x:
Line 854 ⟶ 855:
lambda z: (
lambda v=sum([x, y, z]): (
[v] if 101v ><= v100 else []
)
)())))
)
 
# List comprehension version
xs = list(dropwhile(
mcNuggets2 = [v for lambda x: xv in mcNuggets,(
enumFromThenTosum(100)(99)(1[x, y, z])
) for x in size(6)
print for y in size(9)
for z in size(20)
xs[0] if xs else 'No unreachable quantities found in this range.'
) if v <= 100]
 
def test(xs):
xs ys = list(dropwhile(
lambda x: x in xs,
enumFromThenTo(100)(99)(1)
))
return ys[0] if ys else (
xs[0] if xs else 'No unreachable quantities found in this range.'
)
 
for xs in [mcNuggets1, mcNuggets2]:
print(
test(xs)
)
 
 
9,659

edits