我编写了以下代码来进行倒数计时:import timeend = time.time() + 5.5if time.time() == end: print('Time\'s up')那没用。这不是一个错误。它什么都没发生,有人有主意吗?谢谢!
2 回答

梵蒂冈之花
TA贡献1900条经验 获得超5个赞
您正在比较是否相等,但是假设返回的时间戳与原始时间戳完全相同,外加5.5秒。除非您非常幸运,否则不会发生这种情况。另外,你在做这个检查权检索完之前的时间后,有没有机会,目前有550秒就会这两个语句之间传递。
您可以使用适当的方法或天真的方法来解决此问题。
处理此问题的正确方法是使用time.sleep(5.5):
import time
time.sleep(5.5)
print("Time's up!")
像您的示例中那样简单地实现它:
import time
end = time.time() + 5.5
while time.time() < end:
pass
print("Time's up")
这将旋转一个空循环,直到经过请求的时间为止。我之所以这么称呼我,是因为您的程序将卡住所有可用的CPU资源,却无所事事,除了检查时钟和直到5.5秒过去的当前时间。在第一个示例中,它告诉操作系统“嘿,请在5.5秒内唤醒我”,其他进程可以在两者之间使用CPU。
添加回答
举报
0/150
提交
取消