看板 Python 關於我們 聯絡資訊
※ 引述《jimmylin212 (JimmyG)》之銘言: 想請問在python 的 random 函數裡面有沒有辦法做到以下需求呢 隨機在 0至1 中間選取 k 個數,k個數的總和又為 1 如果沒有辦法的話,有前輩有推薦的演算法嘛? 先謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.172.91
amulet5566:取完再全部用常數scale? 04/14 17:05
同意樓上 像下面這樣 import random def normalized_sample(k): samples=[] for i in xrange(k): samples.append(random.random()) N=sum(samples) N_samples=[i/N for i in samples] return N_samples if __name__ == "__main__": spam = normalized_sample(20) print spam print sum(spam) 會有點誤差應該還好 這…應該稱它是函式就好…不是演算法 我想你接下來要做的東西比較有可能是演算法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.249 ※ 編輯: KSJ 來自: 140.112.63.249 (04/14 17:15)
jimmylin212:非常感謝你,我了解一下 04/14 17:51