"""
Some small examples of function behavior to motivate lecture.

Author: Zachary Palmer
Date: 2015-10-05
"""

def local_assign_int(x):
  x = 5

def return_updated_int(x):
  return x + 2

def examples1():
  x = 0
  local_assign_int(x)
  print x
  return_updated_int(x)
  print x
  x = return_updated_int(x)
  print x
  x = return_updated_int(x)
  print x

def local_update_list(items):
  items = [2,3,4,5]

def return_updated_list(items):
  return items + [5]

def mutate_list(items):
  items.append(8)

def examples2():
  items = [2,3,4]
  local_update_list(items)
  print items
  return_updated_list(items)
  print items
  items = return_updated_list(items)
  print items
  mutate_list(items)
  print items

def main():
  examples1()
  examples2()

main()

