我從來沒有使用過隨機庫,我對這個 fixme 陳述句要求我做什么感到有點困惑。是否有專門執行此操作的種子編號?
該代碼正在制作一個有序串列 ADT,并且該檔案正在測驗該檔案中的功能。我們使用隨機庫來創建將添加到有序串列 ADT 中或從有序串列 ADT 中洗掉的亂數。
如果有任何其他資訊我應該提供,請告訴我!


uj5u.com熱心網友回復:
當你設定 時seed,就像這里所做的那樣,你應該得到一組一致的亂數。
如果您獲得的數字不一致,則以下情況之一為真:
- 您在某處使用了不同的亂數函式,因此設定種子并沒有解決它。
- 測驗依賴于外部狀態,所以它在不同的運行中做不同的事情。
- 您正在嘗試將運行整個測驗套件與測驗單個功能進行比較。
正確的修復將取決于問題中的哪一個。
- 找到您使用不同生成器的位置,然后停止或模擬它。
- 找到外部狀態并將其設定或模擬出來。
- 將種子設定為一種
setUp方法,以便每次測驗都設定新鮮。
我的猜測是你的問題是最后一個。但如果不是,希望這個答案能給你一個開始挖掘的地方。
uj5u.com熱心網友回復:
當您提供相同的種子值時,隨機庫將生成相同的亂數序列 (!)。任何種子都可以-652就像您的示例一樣-但可以是7, or 42, 或任何int值。這是違反直覺的,但是像這樣生成的基本亂數被更準確地稱為pseudo-random numbers- 它們不是 100% 隨機的,因為隨機序列可以完全相同地重新生成。正如您的問題所示,這對于測驗很有用。
對于這個引數,我們有來自 python檔案的以下注釋:
random.seed(a=None)
初始化亂數生成器。
如果
a省略 orNone,則使用當前系統時間。如果作業系統提供隨機源,則使用它們而不是系統時間。如果
a是int,則直接使用。
uj5u.com熱心網友回復:
當您使用該seed方法修復數字時,對偽隨機方法的所有呼叫都將回傳與呼叫順序相關聯的相同數字。如果您更改數字,您將獲得不同的亂數序列。這就是為什么如果您希望隨機呼叫產生不同或不受控制的值,請使用難以預測的數字(例如確切的當前時間)設定種子。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/515241.html
上一篇:不同型別佇列的向量
下一篇:這個代碼片段的時間復雜度是多少?
