1

我正在尝试使用代码:

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)

如果有人可以告诉我如何解决此问题或提供替代方法,将不胜感激。

4

2 回答 2

4

输入help(random.random)终端(或者random.random??如果您使用的是 iPython),您将获得:

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

所以它不需要任何输入,这是错误背后的原因。要生成一定范围内的随机数,您可以使用random.randint(链接到random.randrange)。

所以你的情况是这样的:random.randint(-5,45)

于 2013-06-05T01:48:57.150 回答
1

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

有关详细信息,请参阅http://docs.python.org/2/library/random.html 。

于 2013-06-05T01:44:26.900 回答