如何接受输入而无需按下输入Python 3

时间:2013-12-30 00:35:06

标签: python-3.x while-loop user-input

我想知道如何在不需要输入的情况下接受输入。我在网上搜索,我得到一些关于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): ')

但我只是想通过不让用户每次按下输入来为我的程序添加更多光晕。只需按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仍然无法正常工作

1 个答案:

答案 0 :(得分:4)

如果您使用的是Windows,msvcrt就是答案:

import msvcrt

print ("Please enter a value.")
char = msvcrt.getch()
print char

如果您不使用Windows,请查看以下source的以下代码段:

getch = _Getch()
print ("Please enter something: ")
x = getch()
print x