1

我想拥有它,这样每次我按空格键时,终端中的数字都会增加一,这样我就可以在脑海中记住一个数字而不会忘记它。但是,如果我为此使用 raw_input,则每次都必须按 Enter,这很烦人。我怎样才能使我建立一个计数器,每次按下空格键时都会增加一个变量?

这就是我所拥有的。

x=0

while x<10000000:
    press = raw_input()
    if  press == "z":
        x=x+1
        print x
4

3 回答 3

3

如果您使用的是 Windows,则有 msvcrt 模块。所以,

import msvcrt

while x = True:
    keypress = msvcrt.getch()
    if keypress == "z":
        x=x+1
        print x
于 2013-03-13T15:16:05.890 回答
0

如果您使用的是 Linux/Unix,则有curses模块。

import curses

def check_press(scr):
    c = None
    x = 0
    while c != 120: # exit on x
        c = scr.getch()
        if c == 122: # count on 'z'
            x += 1
            scr.addstr(0, 0, "%5d" % x)
            scr.refresh()

if __name__ == '__main__':
    curses.wrapper(check_press)
于 2013-03-14T19:00:06.263 回答
0
import os

while True:
    cmd = "read -n 1 c; print $c"
    key = os.popen(cmd).read()
    if key[0] == "z":
        x=x+1
        print x
于 2019-10-30T12:41:55.450 回答