作者KSJ (阿真)
看板Python
標題Re: [問題] python random 問題
時間Thu Apr 14 17:13:53 2011
※ 引述《jimmylin212 (JimmyG)》之銘言:
想請問在python 的 random 函數裡面有沒有辦法做到以下需求呢
隨機在 0至1 中間選取 k 個數,k個數的總和又為 1
如果沒有辦法的話,有前輩有推薦的演算法嘛?
先謝謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.172.91
1F:→ 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)
2F:推 jimmylin212:非常感謝你,我了解一下 04/14 17:51