This question already has an answer here:
i'm wondering how to accept input without the need to press enter. i searched online, and i get something regarding raw_input, but i think that became obsolete after the arrival of python 3.0. sometimes, i run a while loop on a whole program since i want to ask the user: continue? (y/n):
for instance consider the code:
import random
d = input('Toss coin? (y/n): ')
while d != 'n' and d!= 'N':
c = random.randint(1,2)
if c == 1:
print('HEADS!')
else:
print('TAILS!')
d = input('Toss coin? (y/n): ')
but i just want to add more flare to my program by just not having the user press enter everytime. just press y or n and the program loops or breaks accordingly.
ok so this is the new code:
import random
import msvcrt
d = input('Toss coin? (y/n): ')
while d != 'n' and d!= 'N':
c = random.randint(1,2)
if c == 1:
print('HEADS!')
else:
print('TAILS!')
print('Toss coin? (y/n): ')
d = msvcrt.getwch()
but msvcrt still doesn't work
If you are using windows,
msvcrt
is the answer:If you are not using windows, take a look at the following snippet at this source: