随机函数的使用随机化的计划任务(Use of the random function to rand

2019-10-18 05:05发布

我想使用的代码:

import random
import datetime
from sched import scheduler
from time import time, sleep

s = scheduler(time, sleep)
random.seed()

def run_periodically(start, end, interval, func):
    event_time = start
    while event_time < end:
        s.enterabs(event_time, 0, func, ())
        event_time += interval + random.random(-5, 45)
    s.run()

getData()#######

run_periodically(time()+5, time()+1000000, 10, getData)

我想获得的预定时间和或计划的时间间隔有一定程度的随机化,目前的代码返回

typeError: random() takes no arguments (2 given)

如果有人既可以告诉我怎么解决这个问题或提供一种替代方法,将不胜感激。

Answer 1:

类型help(random.random)在终端(或random.random??如果你使用IPython的),你会得到:

random() -> x in the interval [0, 1).

因此,它不接受任何输入这是错误背后的原因。 为了产生在一定范围内的随机数则可以使用random.randint (其被链接到random.randrange )。

因此,这将是这样为你的情况: random.randint(-5,45)



Answer 2:

random.random是不是你想要的功能。 你想用random.randrangerandom.randint取决于您的版本。

见http://docs.python.org/2/library/random.html了解更多详情。



文章来源: Use of the random function to randomise scheduled tasks