python中的隨機數種子seed

2021-09-26 21:48:17 字數 1515 閱讀 6757

栗子1:

import numpy as np

import random

random.seed(0)

np.random.seed(0)

print(np.random.rand(2))

print(np.random.rand(2))

結果為:

[0.5488135  0.71518937]

[0.60276338 0.54488318]

再次執行結果為:

[0.5488135  0.71518937]

[0.60276338 0.54488318]

想要在同乙個程式中產生同一組隨機數,需要在下乙個函式設定乙個相同的隨機種子

import numpy as np

import random

random.seed(0)

np.random.seed(0)

print(np.random.rand(2))

np.random.seed(0)

print(np.random.rand(2))

結果為:

[0.5488135  0.71518937]

[0.5488135 0.71518937]

栗子2:

import random

random.seed(0)

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

# 生成同乙個隨機數

random.seed(0)

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

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

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

# 生成同乙個隨機數

random.seed(0)

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

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

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

結果為:

1:  0.8444218515250481

2: 0.8444218515250481

3: 0.7579544029403025

4: 0.420571580830845

5: 0.8444218515250481

6: 0.7579544029403025

7: 0.420571580830845

random.seed(0),其中的0是對應的隨機數的種子,如果不設定這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。

生成的結果與**執行的的次數沒有什麼關係。分析結果可知,輸出值相同,與距離隨機數種子間隔也相同。由以上分析可見,1,2,5相同;3,6相同;4、7相同。

隨機數種子

隨機數 int main 函式rand 是真正的隨機數生成器,而srand 會設定供rand 使用的隨機數種子。如果你在第一次呼叫rand 之前沒有呼叫srand 那麼系統會為你自動呼叫srand 而使用同種子相同的數呼叫 srand 會導致相同的隨機數序列被生成。srand unsigned ti...

隨機數種子

隨機數就是就隨機數種子中取出的數。種子就是個序號,這個序號交給乙個數列管理器,通過這個序號,你從管理器中取出乙個數列,這個數列就是你通過那個序號得到的隨機數。但這個隨技術並不真正隨機。因為它是通過某個演算法的得到。也就是說你給數列管理器同乙個序號將得到同樣乙個 隨機 數列。也就是說種子和隨機數列是一...

隨機數種子

隨機數 int main 函式rand 是真正的隨機數生成器,而srand 會設定供rand 使用的隨機數種子。如果你在第一次呼叫rand 之前沒有呼叫srand 那麼系統會為你自動呼叫srand 而使用同種子相同的數呼叫 srand 會導致相同的隨機數序列被生成。srand unsigned ti...