Python生成指定區(qū)間中的隨機(jī)數(shù)

要求生成區(qū)間[a, b]中的隨機(jī)數(shù)。若要求為浮點(diǎn)數(shù),則Python中只能近似達(dá)到這一要求,因?yàn)殡S機(jī)函數(shù)的取值區(qū)間一般都為左閉右開(kāi)區(qū)間,因?yàn)橹荒軣o(wú)限接近b。若要求為整數(shù),那么將取數(shù)區(qū)間設(shè)置為[a,b+1)即可以取到b了。具體如下:


1. random()

numpy.random.random(size=None)

  • 生成[0.0, 1.0)的隨機(jī)數(shù)。注意區(qū)間是左閉右開(kāi),取不到1.0。
  • 生成的是浮點(diǎn)數(shù)。
  • 參數(shù)size可以用于指定生成隨機(jī)數(shù)的個(gè)數(shù)和形狀。例如
>>>import numpy as np
>>>np.random.random()
0.5312959368718575
>>>np.random.random(5)
array([ 0.2483017 ,  0.86182212,  0.03454678,  0.87525464,  0.31962688])
>>>np.random.random((2,3))
array([[ 0.66214521,  0.40083972,  0.05552421],
       [ 0.51091912,  0.6419505 ,  0.8757311 ]])

利用np.random.random()近似生成[a,b]的隨機(jī)數(shù),因?yàn)榍罢叩娜≈捣秶荹0,1),是半開(kāi)區(qū)間,所以右側(cè)端點(diǎn)處的值b取不到。

>>>import numpy as np
>>>a + (b-a)*np.random.random()

2. rand()

numpy.random.rand(d0, d1, ..., dn)

它和numpy.random.random(size=None)的主要區(qū)別就在于參數(shù)。例如生成2*3的array。注意觀察參數(shù)的形式。

>>>import numpy as np
>>>np.random.random((2,3))
array([[ 0.66214521,  0.40083972,  0.05552421],
       [ 0.51091912,  0.6419505 ,  0.8757311 ]])
>>>np.random.rand(2,3)
array([[ 0.59786635,  0.88902485,  0.7038246 ],
       [ 0.44150109,  0.73660019,  0.70001489]])

3. randint()

生成指定區(qū)間的隨機(jī)整數(shù)

numpy.random.randint(low, high=None, size=None, dtype='l')

具體介紹見(jiàn):https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html

>>> np.random.randint(2,5)
3
>>> np.random.randint(2,5,3)
array([2, 3, 3])
>>> np.random.randint(2,5,9)
array([3, 4, 3, 2, 3, 3, 4, 4, 2])
>>> np.random.randint(2,5,(2,3))
array([[4, 3, 2],
       [3, 3, 4]])

注意:取值的區(qū)間仍然是左閉右開(kāi)區(qū)間[low, high)
若要求取[a,b]中的隨機(jī)數(shù),則

>>>np.random.randint(a, b+1)


該文章于2017年5月29日于CSDN上首次發(fā)表,2017年12月22日搬家至此!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容