Disabling input() before prompt? | Sololearn: Learn to code for FREE!
Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis
+ 1

Disabling input() before prompt?

Hi all, Iā€™m writing a text adventure using Python. Very often I use input() to accept input from the player to allow them to do anything in the game. Before the input() prompt, though, while a time.sleep() is running, the user is able to type and affect the text, and what they type is later accepted as the input. I need to disable this, to make the game smoother. Any help? Example: Print(ā€œDo you want to go inside?ā€) Time.sleep(1) ans = input() if ans == ā€œyesā€: Etc If the user presses the enter key twice while the time.sleep() is occurring, the input will take those two blank enter keys as the input. I donā€™t want the user to be able to type anything until the input() is being run.

4th May 2020, 11:36 PM
Joel
4 Respostas
+ 1
Flush the input buffer before accepting input. I don't know how to do it in python. In C we can do this. I guess there will be something in python too. This link may give you some ideas. https://stackoverflow.com/questions/2520893/how-to-flush-the-input-stream-in-python
5th May 2020, 12:21 AM
Peter Parker
Peter Parker - avatar
0
Hari Shankar thank you!! i will try this.
5th May 2020, 12:40 AM
Joel
0
Iā€™m still having troubles with this. I cant seem to make it work. I use Windows 10. I think a simpler way to phrase this question is this: how do I make python ignore the enter key until input() actually appears?
5th May 2020, 7:44 PM
Joel
0
Can you post your code here?
5th May 2020, 11:28 PM
Peter Parker
Peter Parker - avatar