python种子数是什么意思_Python:随机种子问题
我知道任何一臺計算機的隨機數都不是真正的隨機數,但是我希望比我目前得到的更多一些變化。我試著模擬骰子擲骰子,例如4d6是一個6面骰子的四個骰子。這比簡單地生成一個介于4到24之間的隨機數要精確得多(我在這里不討論概率曲線)
我發現,從目前的系統時間(我一直覺得它和任何種子一樣好,可能是錯誤的)的種子數量一直很低。我的意思是在大約50卷3d6之后,我從來沒有得到過超過12的總和。這是0命中率最高的1/3范圍,我認為這是特別奇怪的。在
下面是一些代碼,希望有人知道更好的方法來實現這一點,也許從系統時間開始播種本身就不好,我只是不知道:
(我省略了不相關的類定義)from random import randrange, seed
def dieroll(self,numrolls,dierange):
""" This method will return 'num' rolls of a d'range' die.
For example, 4d6 will simulate four rolls of a 6-sided die. """
seed()
sum = 0
for roll in range(0, numrolls):
dieroll = randrange(1,dierange)
sum = sum + dieroll
print("Sum = %d" % sum)
以下是我的結果的一個小樣本:
^{pr2}$
我希望有一個鐘形曲線的值,雖然這個小樣本集(我不打算公布全部50個結果),但我的總體結果在低水平上有很大的偏差。在
謝謝你在這方面的任何幫助——我希望這些結果盡可能真實!在
編輯:在大約20卷之后,我確實得到了13分和14分,所以我知道這是可能的。不過,我有10個6歲以下的孩子。在
編輯二:我剛剛意識到dierange應該是dierange+1--1d6總是返回1-5的結果。。。仍然不確定種子是否盡可能準確。在
總結
以上是生活随笔為你收集整理的python种子数是什么意思_Python:随机种子问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔记03
- 下一篇: Python小数据池