On 03/01/12 21:28, Steven D'Aprano wrote:
I assume you want to display something like this:
Enter your next move: 0:30
where the "0:30" is the time remaining, and is constantly updating. When
it hits zero, the function returns whether the user has typed anything
or not.
Assuming Steven has guessed right then I think you need to use one of
the non blocking input mechanisms like kbhit() or getch() or somesuch.
Those methods are notioriously unreliable and OS specific. For example
you may need to use curses or the Microsoft runtime module msvcrt.
The general code will look like
Display prompt
while no key hit
sleep briefly
update time in prompt
(using ctrl characters to delete/overwrire previouis entry)
#when key hit
process input.
It is a non trivial problem and the details will depend on whether you
use curses or the microsoft route.
It is one of those few cases that is actually much easier to do
in a GUI. GUIs generally make life more complex but in this case
updating a label while awaiting user input is almost trivial
(for a GUI).
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor