gpt4 book ai didi

python 诅咒 nodelay getch 没有响应

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:07 25 4
gpt4 key购买 nike

这段代码运行了 100 万次迭代(在我的机器上大约几秒钟),但是当我按住一个按钮时,我按住的 # 迭代并没有显着增加。

import curses


stdscr = curses.initscr()
curses.cbreak()
curses.noecho()
stdscr.nodelay(1)

num_iters_nochar = 0
num_iters_char = 0

for i in range(10**6):
if stdscr.getch() == -1:
num_iters_nochar += 1
else:
num_iters_char += 1




curses.nocbreak()
curses.echo()
curses.endwin()
print num_iters_nochar , 'iterations with no input'
print num_iters_char , 'iterations with input'

为什么 nodelay getch() 不能准确捕获按钮按下?

最佳答案

因为nodelay字面意思就是没有延迟。除非您的键盘重复率非常高,否则当 getch 超时并且没有产生任何输入时,循环会进行一些迭代,这是正常的。

对我来说,我得到:

999742 iterations with no input
258 iterations with input

这 11 秒似乎是合理的。我的键盘不可能在 11 秒内重复一个键 100 万次,如果是这样的话,除了击中这个程序中的所有 getches 之外就不可能使用键盘做任何事情,因为它必须计算 ~99每秒 000 个 键,这会使打字变得非常痛苦。所以,简而言之,你的数字是正常的。

关于python 诅咒 nodelay getch 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46292796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com