Python的偽隨機數生成函式random

2021-08-27 13:52:57 字數 846 閱讀 4393

python有乙個內建函式叫做random,是用來生成偽隨機數的,但是這個模組存在很大的不足,一次只能生成乙個值;而numpy庫里的random模組則很好的彌補了它的不足,numpy.random可以高效的生成多種概率分布下的完整樣本值陣列,之所以把它們生成的數成為偽隨機數,是因為它們是由具有確定性行為的演算法根據隨機數生成器中的隨機數種子生成的,那麼,什麼是隨機數種子呢?簡單來說,計算機中的隨機數都是基於乙個真隨機數(種子)通過乙個演算法不斷迭代產生的偽隨機數,而那個真隨機數就是隨機數種子,

我們可以通過命令np.random.seed()來改變numpy的隨機數種子

numpy.random中的部分函式列表

seed

向隨機數生成器傳遞隨機狀態種子

shuffle

隨機排列乙個是序列

rand

從均勻分布中抽取樣本

randint

根據給定的由低到高的範圍抽取隨機整數

randn

從均值0方差1的正態分佈中抽取樣本

normal

從正態(高斯)分布中抽取樣本

binomial

從二項分布中抽取樣本

uniform

從均勻【0,1)分布中抽取樣本

下面來簡單介紹一下python中的內建模組random的使用:

random模組中的random()方法用來生成乙個[0,1)範圍內的小數,使用時必須引入random模組。

import random

print("random():",random.random())

輸出如下:

也可以生成任意兩個整數之間的隨機數,此處不再多說。

生成偽隨機數

真正的隨機數只能自然生成,所以我們人工得到的隨機數被稱為偽隨機數。使用中的rand 函式可以生成0 rand max之間的隨機整數.rand 函式使用乙個起始的種子值生成一系列數字,對於乙個特定的種子產生的序列數永遠是相同的。如果使用rand 函式只使用乙個種子值,即預設的種子值,就會使得序列數是有...

隨機數生成 偽隨機數和真隨機數

c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...

rand生成偽隨機數

void srand unsigned seed 設定隨機數種子。int rand void 根據設定的種子計算生成一組整型偽隨機數序列。若沒有手動設定seed,這個函式會自動設定seed為1,即手動呼叫srand 1 與不呼叫srand產生的效果一樣。每次呼叫rand時,會依次將隨機數從隨機數序列...