Python 如何为智力竞赛游戏创建重置计时器?
我正在尝试为我的问答游戏创建计时器。它应该在每个正确的问题后重置。但我的代码的问题是,每次重置后,它的速度都在不断提高Python 如何为智力竞赛游戏创建重置计时器?,python,pygame,Python,Pygame,我正在尝试为我的问答游戏创建计时器。它应该在每个正确的问题后重置。但我的代码的问题是,每次重置后,它的速度都在不断提高 timeCount = 30 def countdown(): global timeCount while timeCount > 0: print(timeCount) sleep(1) timeCount -= 1 else: print("Time Out!") 您可以使用函数
timeCount = 30
def countdown():
global timeCount
while timeCount > 0:
print(timeCount)
sleep(1)
timeCount -= 1
else:
print("Time Out!")
您可以使用函数time.perf_counter(): 在上面的示例中,time.perf_counter()计算调用它时的时间,以便提供两次调用之间经过的时间 如果要使用当前逻辑: “global”语句意味着您将在代码执行期间修改“timeCount”变量。要解决此问题,可以在函数中使用一个新的局部变量(在下面的解决方案中称为“local_count”),如下所示:每次调用函数时都重置倒计时:
import time
timeCount = 30
def countdown():
local_count = timeCount
while local_count > 0:
print(local_count)
time.sleep(1)
local_count -= 1
print("Time Out!")
我想这就是你想要做的:
import time
timeCount = 30
start = time.time()
seconds = 0
def countdown():
global timeCount
global seconds
while seconds < timeCount:
now = time.time()
seconds = now - start
print(timeCount - seconds)
else:
print("Time Out!")
countdown()
如何重置计时器?你能提供更多关于“提高速度”的详细信息吗?我不太确定你目前是如何重置计时器的,你能更清楚一点吗?我只是将timeCount重置为30。例如,timeCount=30请提供一个。
import time
timeCount = 30
start = time.time()
seconds = 0
def countdown():
global timeCount
global seconds
while seconds < timeCount:
now = time.time()
seconds = now - start
print(timeCount - seconds)
else:
print("Time Out!")
countdown()
seconds = int(seconds)