title: resetting raw_input within a while loop (python)
body: <p>So I'm trying to get this engine to work, and I did, but it's broken my program. (from LPTHW)</p>
  
  <p>I am basically trying to access a function where it gets an input from the user 11 times, if the user fails to guess the correct input, they die (in game) but my fix for sending the prompts from the engine to the functions, seemed to break the function where I get an input 11 times and just uses the same guess for all 11 inputs. </p>
  
  <p>Here is the main engine</p>
  
  <pre><code>globvar = ' '
  
  class Game(object):
  
      def __init__(self, start):
          self.quips = [
              "You died.  You kinda suck at this.",
              "Your mom would be proud. If she were smarter.",
              "Such a luser.",
              "I have a small puppy that's better at this."
          ]
          self.start = start
  
  
      def play(self):
          # next_room_name is taken from init argument start
          next_room_name = self.start
  
          while True:
              global globvar
              print "\n--------"
              # set variable room to get function from next_room_name
              room = getattr(self, next_room_name)
  
              print room.__doc__
  
              if room == self.laser_weapon_armory:
                  prompt = raw_input("[keypad]&gt; ")
  
              elif room == self.escape_pod:
                  prompt = raw_input("[pod #]&gt; ")
              else:
                  prompt = raw_input("&gt; ")
          globvar = prompt     
              # unpacks function from next_room_name into room
              next_room_name = room()
  </code></pre>
  
  <p>And here is the function im trying to get to work</p>
  
  <pre><code>def laser_weapon_armory(self):
          """
          You do a dive roll into the Weapon Armory, crouch and scan the room
          for more Gothons that might be hiding.  It's dead quiet, too quiet.
          You stand up and run to the far side of the room and find the
          neutron bomb in its container.  There's a keypad lock on the box
          and you need the code to get the bomb out.  If you get the code
          wrong 10 times then the lock closes forever and you can't
          get the bomb.  The code is 3 digits.
          """
          code = "%d%d%d" % (randint(1,9), randint(1,9), randint(1,9))
  
          guess = globvar
          guesses = 0
  
          while guess != code and guesses &lt; 10:
              print "BZZZZEDDD!"
              guesses += 1
              guess = globvar
  
          if guess == code:
              print "The container clicks open and the seal breaks, letting gas out."
              print "You grab the neutron bomb and run as fast as you can to the"
              print "bridge where you must place it in the right spot."
              return 'the_bridge'
          else:
              print "The lock buzzes one last time and then you hear a sickening"
              print "melting sound as the mechanism is fused together."
              print "You decide to sit there, and finally the Gothons blow up the"
              print "ship from their ship and you die."
              return 'death'
  </code></pre>
  
  <p>And here is the output I get</p>
  
  <pre><code>--------
  
          You do a dive roll into the Weapon Armory, crouch and scan the room
          for more Gothons that might be hiding.  It's dead quiet, too quiet.
          You stand up and run to the far side of the room and find the
          neutron bomb in its container.  There's a keypad lock on the box
          and you need the code to get the bomb out.  If you get the code
          wrong 10 times then the lock closes forever and you can't
          get the bomb.  The code is 3 digits.
  
  [keypad]&gt; 124
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  BZZZZEDDD!
  The lock buzzes one last time and then you hear a sickening
  melting sound as the mechanism is fused together.
  You decide to sit there, and finally the Gothons blow up the
  ship from their ship and you die.
  </code></pre>