If you need help reviewing Environment Diagrams, take a look at these resources:
Each question has a "Toggle Solution" button -- click it to reveal that question's solution.
def square1(x): return x * x def square2(x): print(x * x) a = square1(3) b = square2(3) # How does return behave differently than print?
def square(x): return x * x def sum_of_squares(x, y): return square(x) + square(y) result = sum_of_squares(3, 4) # How many times do we call mul? # How many frames do we draw for mul?
from operator import add first = add(3, 4) def add(a, b): return a + b second = add(3, 4) # What changes between the first time we call add and the # second time? How does this affect our diagram?
score, opp_score = 0, 0 def assign(arg0, arg1): score = arg0 opp_score = arg1 return True success = assign(3, 9001) # But did we really succeed? # Did the global values of score and opp_score change?
goal = 100 def foo(x): y = x + goal return b result = foo(4) # What's the lookup procedure for goal? # Does result ever show up in the diagram?
from operator import add, sub def a_plus_abs_b(a, b): if b < 0: op = sub else: op = add return op(a, b) result = a_plus_abs_b(4, -4)