python维护两个不同的随机实例
我试图做一些分析,出于“原因”,我希望我的程序中的每个对象都有自己的种子,但没有全局种子。我能做到这样吗python维护两个不同的随机实例,python,Python,我试图做一些分析,出于“原因”,我希望我的程序中的每个对象都有自己的种子,但没有全局种子。我能做到这样吗 a = random.seed(seed1) b = random.seed(seed1) for a in range(5) : print a.random(), b.random() 预期的输出将是 0.23 0.23 0.45 0.45 0.56 0.56 0.34 0.34 等等。。。 显然,这是一个超级人为的例子——这些单独的种子将埋在对象中,并对应于特定
a = random.seed(seed1)
b = random.seed(seed1)
for a in range(5) :
print a.random(), b.random()
预期的输出将是
0.23 0.23
0.45 0.45
0.56 0.56
0.34 0.34
等等。。。
显然,这是一个超级人为的例子——这些单独的种子将埋在对象中,并对应于特定的事物。但第一步是让这样的东西发挥作用
如何让python维护多种子随机数 我希望您只是在寻找上面输出中提到的随机数: 下面是一些代码。如果对您有帮助,请检查:
>>> for i in range(5):
print(random.randint(1,100), random.randint(1,100))
输出如下:
1493
51 62
20 12
9 3
52 71我希望您只是在寻找上面输出中提到的随机数: 下面是一些代码。如果对您有帮助,请检查:
>>> for i in range(5):
print(random.randint(1,100), random.randint(1,100))
输出如下:
1493
51 62
20 12
9 3
52 71您需要使用
random.random
类对象
from random import Random
a = Random()
b = Random()
a.seed(0)
b.seed(0)
for _ in range(5):
print(a.randrange(10), b.randrange(10))
# Output:
# 6 6
# 6 6
# 0 0
# 4 4
# 8 8
州政府明确表示您的问题:
此模块提供的函数实际上是
random.random
类的隐藏实例。您可以实例化您的
拥有Random
的实例,以获取不共享状态的生成器
您需要使用
random.random
类对象
from random import Random
a = Random()
b = Random()
a.seed(0)
b.seed(0)
for _ in range(5):
print(a.randrange(10), b.randrange(10))
# Output:
# 6 6
# 6 6
# 0 0
# 4 4
# 8 8
州政府明确表示您的问题:
此模块提供的函数实际上是
random.random
类的隐藏实例。您可以实例化您的
拥有Random
的实例,以获取不共享状态的生成器
那么,这可能会帮助您:
>>> for _ in range(5):
rn=random.randint(1,100)
print(rn, rn)
输出为:38 38 98 98 8 8 29 29
67然后,这可能会帮助您:
>>> for _ in range(5):
rn=random.randint(1,100)
print(rn, rn)
输出为:38 38 98 98 8 8 29 29
67 67我不明白为什么不,这不像你在两个变量之间共享内存,你试过编码了吗?参见
类Random
:Random没有init返回我能看到的对象,我在代码中使用了它,因为我希望它能这样做。每次我调用seed,它都会影响基于我的测试的全局seed。我厌倦了对它进行编码,得到了一个Nonetype没有随机错误,因为random.seed()实际上不会重新运行任何东西。这是Python2.7BTW这能回答你的问题吗?我不明白为什么不,它不像你在两个变量之间共享内存,你试过编码它吗?参见类Random
:Random没有init返回我能看到的对象,我在代码中使用了它,因为我希望它能。每次我调用seed,它都会影响基于我的测试的全局seed。我厌倦了对它进行编码,得到了一个Nonetype没有随机错误,因为random.seed()实际上不会重新运行任何东西。这是Python2.7BTW这能回答你的问题吗?这显然不是OP想要的:生成的随机对在输出中是不同的,而预期的结果是相同的。这显然不是OP想要的:生成的随机对在输出中是不同的,而预期的结果是相同的。