如何使用time()倒数

时间:2018-06-29 21:00:39

标签: python time

我编写了这段代码来进行倒计时:

def print_list(my_list):
    print('\n'.join(my_list))

a = ['foo', 'bar', 'baz']
print_list(a)

那没有用。这不是错误。它什么都没发生,有人有主意吗?谢谢!

2 个答案:

答案 0 :(得分:4)

您在设置time.time()之后立即再次检查end,并且只检查了一次,因此肯定不会在5.5秒后出现。如果要通过对代码进行最少的修改来做到这一点:

while time.time() < end:
    pass
print('Time\'s up')

如果您对time.time()的调用未返回确切的微秒,则您不想检查==

如果要正确执行此操作,则应使用time.sleep(5.5)

答案 1 :(得分:2)

您正在比较是否相等,但是假设返回的时间戳与原始时间戳完全相同,外加5.5秒。除非您非常幸运,否则不会发生这种情况。另外,您在上一次检索后进行了 right 检查,并且在这两个语句之间没有5.5秒的可能。

您可以使用适当的方法或天真的方法来解决此问题。

处理此问题的正确方法是使用ng_flow.as_dict()

time.sleep(5.5)

像您的示例一样简单的实现方式:

import time

time.sleep(5.5)
print("Time's up!")

这将旋转一个空循环,直到经过请求的时间为止。我之所以这么称呼我,是因为您的程序将卡住所有可用的CPU资源,却无所事事,除了检查时钟和当前时间,直到5.5秒为止。在第一个示例中,它告诉操作系统“嘿,请在5.5秒内唤醒我”,其他进程可以在两者之间使用CPU。