簡體   English   中英

如何在python中隨機運行一個函數?

[英]How to run a function randomly in python?

我想讓我的程序隨機運行一些函數。 例如,如果有一個函數,我希望它每分鍾運行 3 次,而不是在精確的時間或一段時間內運行。 它可以在 10:10:20、10:10:21、10:10:59 或 10:11:01、10:11:03、10:11:49 運行。 如何在 Python 中完成? random module是否支持這個?

在上面的例子中,在一分鍾內運行3次,我們可以使用隨機在一分鍾內選擇3個時間點(以秒為單位),並就地排序(如MSeifert所說)

import random
points = sorted(random.sample(range(60), 3))

並在選定的時間運行函數。

為此創建您自己的算法。

  • 以秒為單位獲取時間跨度(1 分鍾 = 60)
  • 添加您要在此時間間隔內運行它的次數 (3)
  • 創建一個tast shedduler,它正在檢查這一秒運行腳本的機會。
  • 創建一個計數變量來計算總運行次數。
  • 在它結束前 X 秒運行所有剩余的調用,其中 X 是 want_runs - counter。

或者你可以使用這個剪下你想要的數據,運行和秒:algorytm

import random
points = sorted(random.sample(range(SECONDS), WANTED_RUNS))
# sorted because result should be in the right order. now create a timer for seconds in fire call each match.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM