【问题标题】:time.sleep function returning same time, why?time.sleep 函数同时返回,为什么?
【发布时间】:2021-07-11 07:37:18
【问题描述】:

我写了以下代码:


import time
localtime = time.asctime(time.localtime(time.time()))
for i in range(5):
    print(localtime)
    time.sleep(5)

它以 5 秒的间隔返回同一时间五次。

但是,我知道它应该在 5 秒后每次返回不同的时间。

无法弄清楚为什么会出现 5 次相同的时间。

【问题讨论】:

  • 因为你在循环之前定义了一次localtime,所以它应该在循环内。

标签: python time


【解决方案1】:

您只需在程序顶部计算一次时间,然后一遍又一遍地打印该值。

其中一个可能有效:

将计算移到循环中

import time

for i in range(5):
    localtime = time.asctime(time.localtime(time.time()))
    print(localtime)
    time.sleep(5)

用计算它的函数替换开头存储值的变量

import time
def localtime():
    return time.asctime(time.localtime(time.time()))

for i in range(5):
    print(localtime())
    time.sleep(5)

localtime = time.asctime(time.localtime(time.time())) 存储您计算的时间,而不是计算时间的公式。

【讨论】:

    猜你喜欢
    • 2014-11-02
    • 2017-07-16
    • 1970-01-01
    • 2022-07-22
    • 2017-05-05
    • 2021-03-23
    • 1970-01-01
    • 2016-09-17
    • 2021-12-10
    相关资源
    最近更新 更多