我正在用Python制作一个图形游戏《谁想成为百万富翁》。我希望用户有45秒的时间回答每个问题。然而,每当我在代码中放置一个计时器时,它会先等待45秒,然后让用户回答,而不是在后台运行,同时让用户回答。
尝试使用time.time()。这将在uniXTime中返回自1970年1月1日以来的秒数。然后,您可以创建一个time循环,以便:
initial_time = time.time()
while time.time()-initial_time < 45:
#Code
希望这有帮助!
您可以使用Python threading
模块让两件事情同时发生,从而允许用户在计时器停止计时时回答问题。
一些利用这个的例子代码:
from threading import Thread
from time import sleep
import sys
def timer():
for i in range(45):
sleep(1) #waits 45 seconds
sys.exit() #stops program after timer runs out, you could also have it print something or keep the user from attempting to answer any longer
def question():
answer = input("foo?")
t1 = Thread(target=timer)
t2 = Thread(target=question)
t1.start() #Calls first function
t2.start() #Calls second function to run at same time
它并不完美,但是这段代码应该启动两个不同的线程,一个询问一个问题,另一个在终止程序前超时45秒。有关< code >线程的更多信息,请参见文档。希望这对你的项目有所帮助!
我正在研究这个问题的类似例子。我们有一个JavaFX应用程序,它通过以下线程运行一些GUI更新:ScheduledExecutorService::scheduleAtFixedRate。 这类似于其他几个问题。我认为最像我情况的两个是: JavaFX任务线程未终止 然而,我需要解决的问题是下一步。我的目标是一个嵌入式应用程序,没有机会手动终止JVM任务或其他简单的答案,等等。我担心重启是为了一些
问题内容: 每个Java应用程序都将在特定的Java虚拟机实例中运行。我真的在以下方面感到困惑,而Google搜索使我更加困惑。不同网站上的不同文章。 如果我有一个用Java编写的Web服务,它将需要一个JVM实例来运行,那么JVM可以成为守护进程吗? 如果是,当我们运行任何其他Java应用程序时,它将使用该JVM实例还是创建一个新的JVM? 任何机器上可用的主内存是恒定的。当我们同时启动n个Ja
关于Java定时器类或ScheduledExecutorService接口,我可以在执行器线程(其他调度器)的运行方法(或TimerTask)内设置调度器(或定时器)吗? 案例研究:我有一个数据库,其中包含歌曲列表(10000首)和播放歌曲的时间表。 所以我想创建一个调度程序(比如1)(周期为1小时),它将搜索数据库,并为计划在一小时内播放的所有歌曲创建调度程序。 一小时后,scheduler1将
问题内容: 我写了一个程序,现在我想计算程序从头到尾的总运行时间。 我怎样才能做到这一点? 问题答案: 使用System.nanoTime获取当前时间。 上面的代码以纳秒为单位打印程序的运行时间。
问题内容: 如果我在无限循环中有一个线程,有没有办法在主程序结束时(例如,当我按 +时 )终止它? 问题答案: 检查这个问题。正确答案对如何以正确的方式终止线程有很好的解释: 是否有任何方法可以杀死Python中的线程? 要使线程在键盘中断信号(ctrl + c)上停止,您可以在退出之前捕获异常“ KeyboardInterrupt”并进行清除。像这样: 这样,您可以控制程序突然终止时的处理方式。
问题内容: 如何在python中计算程序运行时间? 问题答案: 您可能需要看一下该模块: http://docs.python.org/library/timeit.html 或模块: http://docs.python.org/library/profile.html 这里还有一些不错的教程: http://www.doughellmann.com/PyMOTW/profile/index.h