Re: [問題] python random 問題

看板Python作者 (阿真)時間14年前 (2011/04/14 17:13), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《jimmylin212 (JimmyG)》之銘言: 想請問在python 的 random 函數裡面有沒有辦法做到以下需求呢 隨機在 0至1 中間選取 k 個數,k個數的總和又為 1 如果沒有辦法的話,有前輩有推薦的演算法嘛? 先謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.172.91

04/14 17:05,
取完再全部用常數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)

04/14 17:51, , 1F
非常感謝你,我了解一下
04/14 17:51, 1F
文章代碼(AID): #1DfhhKz_ (Python)
文章代碼(AID): #1DfhhKz_ (Python)