If you need help reviewing Lambda Expressions, take a look at these resources:
Each question has a "Toggle Solution" button -- click it to reveal that question's solution.
Code-Writing questions
Question 1
Fill in the blanks for the following expression so that result
is the
number 42.
x = lambda x, y: lambda: x - y
result = (lambda ____, question: one(__________)(x, 4)
result = (lambda one, question: one(46, question)())(x, 4)
Question 2
Fill in the blanks for the following expression so that result
is the
boolean True.
x = lambda x: lambda y: x(y)
result = (lambda ______: x(fair)(dice))(lambda fair: fair == 3, 3)
result = (lambda fair, dice: x(fair)(dice))(lambda fair: fair == 3, 3)
Fill in the blanks for the following expression so that each call to
mapper
prints the output displayed below:
>>> def mapper(fn, num):
... i = 0
... while i < num:
... print(fn(i))
... i = i + 1
>>> mapper(lambda x: ______, 4)
1
3
5
7
>>> mapper(lambda x: ______, 5)
-2
-1
0
1
2
>>> mapper(lambda x: ______, 5)
0
-1
1
-2
2
mapper(lambda x: 2 * x + 1, 4)
mapper(lambda x: x - 2, 5)
mapper(lambda x: (x + 1) * (-1) ** x // 2, 5)
Environment Diagrams
Question 3
f = lambda x: lambda y: lambda z: g(x + y + z)
g = f(3)
f(4)(5)(6)
Question 4
fn = lambda f, a: f(f(2*a))
result = fn(lambda x: x*x, 2)
Question 5
fn = lambda: lambda: print('hi')
def example(x):
print('example')
return x
result = example(fn())()