如何使用介于(字串長度和 2000000)之間的均勻分布亂數范圍生成亂數,僅限整數。,通過在隨機生成中使用所有時間常數種子(2)在每次運行中獲得相同的結果?
x = random.uniform(len(String),200)
接下來我該如何使用種子?
uj5u.com熱心網友回復:
您可以使用串列理解來獲得更緊湊(并且可能更快)的代碼:
import random
# Fixed seed for repetitive results
const_seed = 200
# Bounds of numbers
n_min = 0
n_max = 2
# Final number of values
n_numbers = 5
# Seed and retrieve the values
random.seed(const_seed)
numbers = [random.uniform(n_min, n_max) for i in range(0, n_numbers)]
print(numbers)
通過始終使用相同的數字播種,您的數字序列將是相同的(至少在同一平臺上 - 即計算機)。這是官方檔案的確認。
這是按照均勻分布生成整數的請求版本(上面創建了浮點數)。可能的最小整數是字串的長度,最大整數是 2,000,000:
import random
# Fixed seed for repetitive results
const_seed = 200
# Bounds of numbers
some_string = 'aString'
n_min = len(some_string)
n_max = 2000000
# Final number of values
n_numbers = 5
# Seed and retrieve the values
random.seed(const_seed)
numbers = [random.randint(n_min, n_max) for i in range(0, n_numbers)]
print(numbers)
uj5u.com熱心網友回復:
seed() 方法用于初始化亂數生成器。亂數生成器需要一個數字開頭(種子值),才能生成亂數。默認情況下,亂數生成器使用當前系統時間。使用 seed() 方法自定義亂數生成器的起始編號。注意:如果您兩次使用相同的種子值,您將獲得兩次相同的亂數。使用 random.seed() 并每次設定相同的種子將給出相同的輸出
這是一個例子:
import random
random.seed(12)
for i in range (1, 10):
a = random.randint(1,10)
print(a)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/533658.html
上一篇:畫90度角線的演算法
下一篇:在拋出'std::length_error'what():basic_string::_M_create實體后終止呼叫
