title: Python while loop not breaking when conditions are met
body: <p>I'm just wondering why the loop doesn't break when it meets those conditions and filters over into my other functions? I fixed it by doing a while true loop and just breaking in each if statement, but I'd like to know what is wrong with doing this way.</p>
  
  <p>def main_entrance():</p>
  
  <pre><code>print "\n\tYou are in the main entrance. It is a large room with" 
  print "\ttwo doors, one to the left and one to the right. There"
  print "\tis also a large windy stair case leading up to a second floor."
  print "\n\tWhat are you going to do?\n"
  print "\t #1 take the door on the left?"
  print "\t #2 take the door on the right?"
  print "\t #3 take the stairs to the second floor?"
  
  choice = 0
  
  #This seems to be the part that isn't working as I would expect it to.
  # I have fixed it and have commented the fix out so that I can understand
  # why this way isn't working.
  
  #while True:
  
  while (choice != 1) or (choice != 2) or (choice != 3):
  
  
      try:
          choice = int (raw_input ('&gt; '))
          if (choice == 1):
              door_one_dinning_room()
              #break (should not need this break if choice is == 1, 2, 3)
  
          elif (choice == 2):
              door_two_study()
              #break
  
          elif (choice == 3):
              stairs_to_landing() 
              #there isn't anything in this function
              #but rather than breaking out from the program once it is 
              # called, but somehow this while loop is still running.
  
              #break
  
          else:
              print "You must pick one!"
  
      except:
          print "Please pick a number from 1-3"
          continue
  </code></pre>