当前位置: 首页 > 面试题库 >

Python:等待用户输入,如果10分钟后仍未输入,则继续执行程序

穆嘉
2023-03-14
问题内容

我试过了:

from time import sleep
while sleep(3): 
    input("Press enter to continue.")

但这似乎不起作用。我希望程序等待用户输入,但是如果10分钟后没有用户输入,请继续执行该程序。

这是python 3。


问题答案:

为什么代码不起作用?

time.sleep什么也不返回;time.sleep(..)成为的价值None; while循环体未执行。

如何解决

如果您使用的是Unix,则可以使用select.select

import select
import sys

print('Press enter to continue.', end='', flush=True)
r, w, x = select.select([sys.stdin], [], [], 600)

否则,您应该使用线程。

Windows 使用的
特定解决方案msvcrt

import msvcrt
import time

t0 = time.time()
while time.time() - t0 < 600:
    if msvcrt.kbhit():
        if msvcrt.getch() == '\r': # not '\n'
            break
    time.sleep(0.1)


 类似资料:
  • 问题内容: 我是python的n00b用户,并且正在查找执行以下操作的代码段/示例: 显示类似“按任意键进行配置或等待X秒继续”的消息 例如,等待5秒钟,然后继续执行,或者如果按下某个键,则输入configure()子例程。 感谢您的帮助! 伊万·詹森斯(Yvan Janssens) 问题答案: 如果您使用的是Unix / Linux,那么select模块将为您提供帮助。 如果您使用的是Windo

  • 我正在编写一个棋盘游戏,我需要检查玩家正在移动的敌人并提示进行攻击。但是,由于游戏是如何制作的,移动方法是在JavaFX应用程序线程上调用的,我希望能够提示用户是否要与敌人战斗。 我的对话框工作正常,使用等待和通知,在主线程上不工作,会导致程序崩溃,有人知道如何暂停这个线程的执行,直到用户单击其中一个按钮。 我为描述道歉,太晚了。 检查敌人的方法该方法检查敌人,如果用户选择是,则返回敌人。它运行在

  • 好的,所以我的程序工作正常,但最后它会询问用户是否要输入另一组整数,如果他们键入“是”,则该过程重新开始。我的程序正在重新开始,但它保留所有相同的用户输入,因此它只是不断重复其原始输入的相同输出。 这是我的代码 我当前的输出如下所示: 输入整数列表(以0结尾):1 输入整数列表(以0结尾):2 输入整数列表(以 0 结尾):-1 输入整数列表(以0结尾):3 输入整数列表(以0结尾):0 阳性数量

  • 我正在尝试为我的频道制作IRC机器人。我希望机器人能够从控制台接收命令。为了让主循环等待用户输入内容,我添加了循环: 这似乎不起作用。我听说过BufferedReader,但我从未使用过,也不确定这是否能解决我的问题。

  • null 所以我面临一个问题,如果打开,等待输入,如何停止它?我尝试过将它放在线程中并或使用作为标志,但它并没有停止

  • 我已经看了这个程序几个小时了,但我仍然不明白其中的逻辑。程序要求用户输入整数。 一旦用户输入了整数,它将向用户输出所有的正数、负数和输入的总数,以及这些数字的平均值。 这是我陷入困境的地方: 然后它会询问用户是否要继续。用户将输入或以指示他们是否要继续。如果用户输入“y”,循环将再次进行,如果他们输入“n”,它将显示再见消息。我不知道如何设置。 我已经尝试了一个 do while 循环,我目前正在