Cameron Macleod wrote:
Hi,

When you type

Input("\n\nPress The Enter Key To Exit")

it forces you to press the enter key to close the program. Why is it the
enter key instead of e.g. the 'esc' key?

Because the convention is that you use the Enter key to ENTER information. That's why it is called Enter.

Your question is kind of like asking "Why do you use a screw driver for driving screws, instead of a socket wrench?" <wink>

In all terminals I know of, the user's input is collected in a buffer until the Enter key is pressed. Until then, what the user types isn't available to the caller. This is how raw_input (Python 2) and input (Python 3) work.

If you want to read the user's input character by character, as they are typed, it is actually quite tricky, but it can be done. You can install a full-blown GUI tool kit, like wxPython or Tkinter, and use that. Or you can use the curses module, which is a bit lighter than Tkinter but still pretty heavyweight. For Linux, there's a FAQ:

http://docs.python.org/faq/library.html#how-do-i-get-a-single-keypress-at-a-time

On Windows, you can use msvcrt.getch().


--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to