首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python维护两个不同的随机实例

python维护两个不同的随机实例
EN

Stack Overflow用户
提问于 2016-09-16 17:29:27
回答 3查看 1.2K关注 0票数 3

我试图做一些分析,出于“原因”,我希望我的程序中的对象都有自己的种子,但没有全球的种子。我能完成这样的事情吗?

代码语言:javascript
复制
a = random.seed(seed1) 
b = random.seed(seed1)

for a in range(5) :
    print a.random(), b.random()

预期输出将是

代码语言:javascript
复制
0.23 0.23 
0.45 0.45 
0.56 0.56 
0.34 0.34 

等等。显然,一个超级设计的例子-这些分离的种子将被埋在物体中,并对应于特定的事物。但第一步是让这样的东西起作用。

我怎么能让蟒蛇保持多个种子的随机?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-16 17:41:01

您需要使用random.Random类对象。

代码语言:javascript
复制
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实例,以获得不共享状态的生成器。

票数 12
EN

Stack Overflow用户

发布于 2016-09-16 17:46:09

那么,这可能对你有帮助:

代码语言:javascript
复制
>>> for _ in range(5): 
          rn=random.randint(1,100) 
          print(rn, rn) 

产出如下:

38 38

98 98

8 8

29 29

67 67

票数 0
EN

Stack Overflow用户

发布于 2016-09-16 17:36:37

我希望您只是在寻找上面的输出中提到的随机数:

这是一些代码。请查收,如果对你有帮助的话:

代码语言:javascript
复制
>>> for i in range(5):
        print(random.randint(1,100), random.randint(1,100))

产出如下:

14 93

51 62

20 12

9 3

52 71

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39537148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档