Alan Gauld wrote:

"David" <[EMAIL PROTECTED]> wrote
the output never stops when I run this in a terminal

choice = raw_input("Enter the name Lary or Joan (-1 to quit): ")
while choice != '-1':           person = {'Lary': 43,'Joan': 24}
  if choice == 'Lary':
      print "Lary's age is:", person.get('Lary')
  elif choice == 'Joan':
      print "Joan's age is:", person.get('Joan')
  else:
       print 'Bad Code'

You set choice outside the while loop then never change it so the while test will always be true and loop forever. You need to copy the raw_input line into the body of the while loop to reset choice.

Also for good style you should move the person = {} line outside the loop since you only want to set up the dictionary once, not every time you execute the loop. The dictionary never changes so recreating it every time is wasteful.

HTH,

Thanks Alan, also your tutorial/book is a big help. I think I got it :)
#!/usr/bin/python

person = {'Lary':43,'Joan':24}

choice = 0
while choice != '-1':
   if choice == '':
       print "You must enter Lary or Joan to continue! (-1 to quit): "
   choice = raw_input(
           "Who's age do want to know, Lary or Joan? (-1 to quit): ")
   if choice == 'Lary':
       print "Lary's age is:", person.get('Lary')

   elif choice == 'Joan':
       print "Joan's age is:", person.get('Joan')

   else:
       print "Goodbye!"


--
Powered by Gentoo GNU/LINUX
http://www.linuxcrazy.com

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to