text: """This module contains a code example related to
  
  Think Python, 2nd Edition
  by Allen Downey
  http://thinkpython2.com
  
  Copyright 2015 Allen Downey
  
  License: http://creativecommons.org/licenses/by/4.0/
  """
  
  from __future__ import print_function, division
  
  """
  
  WARNING: this program contains a NASTY bug.  I put
  it there on purpose as a debugging exercise, but
  you DO NOT want to emulate this example!
  
  """
  
  class Kangaroo:
      """A Kangaroo is a marsupial."""
      
      def __init__(self, name, contents=[]):
          """Initialize the pouch contents.
  
          name: string
          contents: initial pouch contents.
          """
          self.name = name
          self.pouch_contents = [i for i in contents]
  
      def __str__(self):
          """Return a string representaion of this Kangaroo.
          """
          t = [ self.name + ' has pouch contents:' ]
          for obj in self.pouch_contents:
              s = '    ' + object.__str__(obj)
              t.append(s)
          return '\n'.join(t)
  
      def put_in_pouch(self, item):
          """Adds a new item to the pouch contents.
  
          item: object to be added
          """
          print(f'Adding {item} to a pouch') 
          self.pouch_contents.append(item)
  
  
  kanga = Kangaroo('Kanga')
  roo = Kangaroo('Roo')
  kanga.put_in_pouch('wallet')
  kanga.put_in_pouch('car keys')
  kanga.put_in_pouch(roo)
  
  print(kanga)
  print(roo)
  
  # If you run this program as is, it seems to work.
  # To see the problem, trying printing roo.
  
  # Hint: to find the problem try running pylint.
  