【发布时间】:2020-05-27 19:55:10
【问题描述】:
假设我们要每次生成 1 到 10 之间的相同随机数。然后,当我运行以下命令时,每次都会得到相同的随机数:
import os
import numpy as np
import random
random.seed(30)
random.randint(1, 10)
9
random.seed(30)
random.randint(1, 10)
9
但如果我想每次生成相同的随机 4x4 矩阵,数字在 1 到 10 之间,我会得到不同的结果:
random.seed(30)
np.random.randint(10, size=(4,4))
array([[8, 2, 6, 4],
[3, 3, 3, 5],
[6, 2, 6, 6],
[8, 7, 1, 1]])
random.seed(30)
np.random.randint(10, size=(4,4))
array([[9, 2, 1, 6],
[4, 3, 3, 8],
[1, 1, 6, 6],
[0, 2, 3, 5]])
问题。如何每次使用 random.seed() 获得相同的数组?
已添加。我添加了导入语句。
【问题讨论】:
-
第二次运行之前,是不是先退出python再重新进入python?如果没有,您应该得到相同的结果
-
请出示您的进口商品。看起来您正在使用来自两个不同模块的 random 方法。
-
@PM77-1:添加了导入方法。
-
看我的回答。希望有帮助
标签: python random-seed