使用python在循环中打印当前分钟

时间:2016-09-27 14:55:23

标签: python

我使用python 3并尝试创建一个不断运行的脚本,并在某个时候执行特定的代码。 我到目前为止的代码,验证当前分钟,如果它超过给定的分钟,它会打印一条消息,否则,它打印当前分钟并等待5秒再试一次。 问题是它只打印代码开始的那一分钟。

JDK Serialization

3 个答案:

答案 0 :(得分:1)

一些编程指针:

1)要进行常量循环,请使用以下结构:

while (True):
   if (...):
       ....
       break

2)存储在"现在"变量是静态的必须用循环中的新时间更新:

while (True):
    now = datetime.now()

所以:

while True:
    now = datetime.now()
    if now.minute > 39:
        print "Hour, Minute:", now.hour, now.minute
        print "All done!"
        break 
    else:
        print ""Minute, second:", now.minute, now.second
    time.sleep(5)

3)现实生活" (TM)计算你想要等到你的事件并且长时间睡觉的时间。

now = time.now()
if now.minute >= 39:
    minutesToEvent  = 0
else:
    minutesToEvent = 39 - now.minute
print "Sleep seconds to next event:", minutesToEvent * 60
sleep(minutesToEvent * 60)

答案 1 :(得分:0)

你必须插入分配

now = datetime.now()
hour = now.hour
minute = now.minute

在while循环中,或者它们不会被刷新

答案 2 :(得分:0)

您需要在循环的每个步骤中刷新now变量的值。此外,我删除了不必要的变量L并将其替换为while True以使代码更好。

import time
from datetime import datetime

while True:
    now = datetime.now()
    if now.minute > 39:
        print ("It's past "+str(hour)+":"+str(minute))
        # Run your desired code here.
    else:
        print(str(minute))
        time.sleep(5)