gpt4 book ai didi

Python3 + 诅咒 : How to press "q" for ending program immediately?

转载 作者:太空狗 更新时间:2023-10-30 02:30:56 25 4
gpt4 key购买 nike

当我运行以下示例代码并仅按“q”时,它会正常结束,但是如果我按任何其他字符“例如许多中断和很多其他字符”然后按“q”它不会退出,我该如何解决这个问题?

import curses, time

def main(sc):
sc.nodelay(1)

while True:
sc.addstr(1, 1, time.strftime("%H:%M:%S"))
sc.refresh()

if sc.getch() == ord('q'):
break

time.sleep(1)

if __name__=='__main__': curses.wrapper(main)

最佳答案

按下其他键会导致 time.sleep(1) 调用,您应该等待 n 秒(n = 其他键击次数) .

删除 time.sleep 调用将解决您的问题。

def main(sc):
sc.nodelay(1)

while True:
sc.addstr(1, 1, time.strftime("%H:%M:%S"))
sc.refresh()

if sc.getch() == ord('q'):
break

#time.sleep(1) <------

备选方案:有条件地调用time.sleep(仅当没有按下任何键时,如果在非-阻塞模式):

while True:
sc.addstr(1, 1, time.strftime("%H:%M:%S"))
sc.refresh()

key = sc.getch()
if key == ord('q'):
break
elif key < 0:
time.sleep(1)

关于Python3 + 诅咒 : How to press "q" for ending program immediately?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308583/

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