我想知道如何接受输入而无需按回车键。 我在网上搜索,得到了一些关于raw_input的东西,但我认为在 Python 3.0 到来后它已经过时了。有时,我会在整个程序上运行一个while循环,因为我想问用户:继续?(是/否):
例如,考虑代码:
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): ')
但我只是想通过不让用户每次都按 Enter 键来向我的程序添加更多耀斑。 只需按 y 或 n,程序就会相应地循环或中断。
好的,这是新代码:
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()
但是 MSVCRT 仍然不起作用
如果您使用的是 windows,答案msvcrt
:
import msvcrt
print ("Please enter a value.")
char = msvcrt.getch()
print char
如果您没有使用窗口,请查看此源中的以下代码片段:
getch = _Getch()
print ("Please enter something: ")
x = getch()
print x