On Mon, 20 Jun 2005 09:11:53 +0100 "Alan G" <[EMAIL PROTECTED]> wrote:
> > "raw_input", but I get "H is not defined" when I run the script. > > Essentially, I'd like the user to enter a number for most items, > > but use letters for "Help", "Quit", and "Back to Main". > > Are you sure? That kind of inconsistent input is one of the > big no-nos of user interface design. It usually confuses > the heck out of users! > Hmmm, good point. It was a thought. I am trying to avoid confusing my users. If this kind of input will cause confusion, I should avoid it. I was looking to provide a consistent help/quit/main single-key scheme across all menus. I can (and presently am) using a double-digit number for this purpose in the current script. On the other hand, I thought people would easily recognize at least the "H" & "Q" for "help" and "quit". Alternatively, I could link these to "F1" & [Ctrl]+Q, or something like that. Many people would understand "F1". Basically, the sub-menu offers choices: 1-3 - add/edit/delete 4-? - standard reports 10-12 - H/Q/M > Hoewever to the problem at hand. > It should just be a case of changing the keys in the dictionary. > Unfortunately you've told us the problem but shown us the code > that woreks, not the broken copde. So we can only guess what > you might have done! > > But basically here is a sample program that does approximately > what you want: > > def hello(): print 'hello' > def goodbye(): print 'goodbye' > > menu = { '1' : ('hello', hello), > 'Q' : ('goodbye', goodbye)} > > for m in menu.keys(): > print "%s\t%s" % (m,menu[m][0]) > I am curious what the "%" by itself is doing. > cmd = raw_input('pick one ').upper() > menu[cmd][1]() > > Does that help? > I'll tinker with this a bit. Don -- evangelinux GNU Evangelist http://matheteuo.org/ http://chaddb.sourceforge.net/ "Free software is like God's love - you can share it with anyone anytime anywhere." _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor