我正在尝试使用代码:
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)
如果有人能告诉我如何解决这个问题或提供替代方法,我们将不胜感激。
答案 0 :(得分:4)
在终端中输入help(random.random)
(如果您正在使用iPython,则输入random.random??
),然后您就可以获得:
random() -> x in the interval [0, 1).
所以它没有采取任何输入,这是错误背后的原因。要生成特定范围内的随机数,您可以使用random.randint
(与random.randrange
相关联)。
所以对你的情况来说就是这样:random.randint(-5,45)
答案 1 :(得分:1)
random.random不是你想要的功能。您希望使用random.randrange
或random.randint
,具体取决于您的版本。
有关详细信息,请参阅http://docs.python.org/2/library/random.html。