在python上为特定时间创建调度程序

问题描述 投票:0回答:2

[您好,我正在尝试创建一种方法,该方法返回一个包含程序应发送警报的小时数的列表,对于所有情况,都需要在00:00发送第一个警报,因此如果使用120分钟,表示每两个小时发送一次,但是每4小时(240分钟)发送一次警报无效,

这是我的代码

def candle_close_timings(candle):
    frame = None
    if candle >= 60: frame = candle/60
    print (frame)
    minutes = []
    hours = []
    for hours in range(0, 24):
        minute = 0
        while minute <= 59:
            minutes.append('%02d:%02d' % (hours, minute))
            minute = minute + candle
    del minutes[frame-1::frame]
    return minutes
print (candle_close_timings(120))

这很好,但是现在请尝试:print (candle_close_timings(240))

它应该返回[00:00 , 04:00, 08:00...]

任何人都可以帮助我如何分割列表

python slice
2个回答
0
投票

您使问题复杂化了。考虑到该方法只能在确切的小时内运行(即60的倍数),这是一个非常简单的解决方案:


0
投票

正如评论者所指出的,您的解决方案效率不高(您在for循环内运行while循环)。

© www.soinside.com 2019 - 2024. All rights reserved.