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)ターミナル (またはiPythonrandom.random??を使用している場合) に入力すると、次のようになります。

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.randrangeまたはrandom.randintバージョンに応じて使用したい。

詳細については、 http://docs.python.org/2/library/random.htmlを参照してください。

于 2013-06-05T01:44:26.900 に答える