我需要生成238個數字,範圍爲1-4,但我想加權,所以有35%的機會獲得3,28%的機會獲得2,18%獲得4米的機會,並獲得1AS3中數字的百分比分佈
的19%的機會,我發現這個..
def select(values):
variate = random.random() * sum(values.values())
cumulative = 0.0
for item, weight in values.items():
cumulative += weight
if variate < cumulative: return item
return item # Shouldn't get here, but just in case of rounding... print select({ "a": 70, "b": 20, "c": 10 })
但我不明白如何將其轉換成AS3?
這與其他類似r代碼,但我不知道它是如何給我的值。 – Phil
嗯,不。你將不得不把它放在一個函數中,重複它238次,存儲結果。 –