import numpy as npnum=0
while(num<5):
np.random.seed(1)
print(np.random.random())
num+=1
print('-------------------------')
num1=0
np.random.seed(2)
while(num1<5):
print(np.random.random())
num1+=1
---------------------
原文:
眾所周知,所謂隨機數其實是偽隨機數,所謂的『偽』,意思是這些數其實是有規律的,只不過因為演算法規律太複雜,很難看出來。
所謂巧婦難為無公尺之炊,再厲害的演算法,沒有乙個初始值,它也不可能憑空造出一系列隨機數來,誒,我們說的種子就是這個初始值。
random隨機數是這樣生成的:我們將這套複雜的演算法(是叫隨機數生成器吧)看成乙個黑盒,把我們準備好的種子扔進去,它會返給你兩個東西,乙個是你想要的隨機數,另乙個是保證能生成下乙個隨機數的新的種子,把新的種子放進黑盒,又得到乙個新的隨機數和乙個新的種子,從此在生成隨機數的路上越走越遠。
好了,回頭看看我們的**:
第一段**把對種子的設定放在了迴圈裡面,每次執行迴圈都旗幟鮮明地告訴黑盒:「我的種子是1」。那麼很顯然:同乙個黑盒,同乙個種子,自然得到的是同乙個隨機數。
第二段**把對種子的設定放在了迴圈外面,他只在第一次迴圈的時候明確地告訴黑盒:「我的種子是2」。那麼也很顯然:從第二次迴圈開始,黑盒用的就是自己生成的新種子了。
多說一句:因為黑盒是始終如一的,所以只要你沒改變種子,那麼你得到的隨機數就不會改變。
沒有特殊需求的話,還是老老實實地用python自動選擇的種子吧,省心又省力。
關於malloc的一點理解
在函式中使用malloc,如果是大的記憶體分配,而且malloc與free的次數也不是特別頻繁,使用malloc與free是比較合適的,但是如果記憶體分配比較小,而且次數特別頻繁,那麼使用malloc與free就有些不太合適了。因為過多的malloc與free容易造成記憶體碎片,致使可使用的堆記憶體...
關於HTTPS的一點理解
通訊使用明文 不加密 內容可能會被竊聽。不驗證通訊方的身份,因此有可能遭遇偽裝。無法證明報文的完整性,所以有可能已經遭到篡改。https http 認證 加密 完整性保護 https是與ssl 安全套接層 組合使用的http協議 http secure 使用ssl之後,請求則變成先和ssl通訊,ss...
關於Action的一點理解
之前學習jsp,就是從網上找些jsp例項 然後模仿,再加工成自己想要的,這樣一來,好多東西都是學了一點皮毛,例如action。下面是在看書時所知道的,看完後,有種頓悟的感覺。action的主要功能是生成頁面顯示所需要的資料,頁面則負責顯示action中的所設定的資料。頁面中的標籤在獲得action所...