《原創》簡述如何根據權重選出隨機數?

2022-05-10 09:00:42 字數 570 閱讀 4990

demo:

分析:談到隨機我們首先會想到python裡面有個random的模組,負責處理隨機數。首先看看裡面有沒有現成的方法來處理這類根據權重出隨機數。

看到所有方法中貌似沒有。

通過編寫函式自己實現:

思路一、既然要在產生隨機數的時候考慮到元素的權重,就上面這個例子而言,不如就將card的個數看成權重數,比如card1有10張,card2有20張,card3有15張。再把所有張數的卡片加到乙個列表中。card_list = [card1,card1,......card2,......card3......],然後再用random.choice(card_list)從列表中隨機抽出一張卡片,這樣抽出的就是基於卡片概率的了。

思路二、更加通用的實現。比如有n張卡片,權重和為1,根據權重來隨機選出卡片。那麼可以根據他們概率劃分區間。比如20的就是0~0.2區間  40的就是0.2~0.6  30的就是0.6~0.9

剩下10的就是0.9~1,然後直接用random.random()生成乙個0~1的隨機數,可看成概率,然後看看落在哪個區間,就返回哪張卡片。區間就是他們的概率比,這樣也能隨機根據概率選出的卡片了。

子彥

php賦值權重 php實現根據使用者權重值分配訂單

一 前言 二 實現思路 要實現根據權重分配,首先要統計使用者的總權重,訂單數 總權重 單個權重對應的訂單數。最後就可以根據對應的訂單數乘以權重值就可以了。另外還需注意一種情況,訂單數除總權重有餘數,這時候需要根據餘數輪詢分配資料。三 實現 public function dispense else ...

Java實現根據權重優先返回(速度較快)

下面的實現比我最初寫的快了四倍多喲。實現思路 我們知道,在10以內的整數裡,0 3出現的概率是0.3,3 6出現的概率是0.3,6 7出現的概率是0.1,7 9出現的概率是0.2,9 10出現的概率是0.1 上面對應的權重可對應為3 3 1 2 1 所以,當我們需要實現不知道權重到底是多少時,我們只...

權重如何做高

一 整站頁面的結構 也就是我們通常所說的頁面結構,總的來說頁面結構應該尋求乙個原則,即先上後下,先左後右的原則。那麼有人會問了。為什麼那樣做呀,非得如許子做嗎?我在這裡也趁便教學一下,由於全部的搜刮引程式設計客棧擎在實驗搜刮任務的時間,它們的搜刮序次就是跟我如今如上所說的一樣的,以是我們應該照著上面...