相关疑难解决方法(0)

"随机"的独立实例

以下代码试图说明我想要的内容.我基本上想要两个"随机"的实例,它们彼此独立地运行.我想在一个类中种子"随机"而不影响另一个类中的"随机".我怎样才能做到这一点?

class RandomSeeded:
    def __init__(self, seed):
        import random as r1
        self.random = r1
        self.random.seed(seed)
    def get(self):
        print self.random.choice([4,5,6,7,8,9,2,3,4,5,6,7,])

class Random:
    def __init__(self):
        import random as r2
        self.random = r2
        self.random.seed()
    def get(self): 
        print self.random.choice([4,5,6,7,8,9,2,3,4,5,6,7,])

if __name__ == '__main__':
    t = RandomSeeded('asdf')
    t.get()       # random is seeded within t
    s = Random()
    s.get()       
    t.get()       # random should still be seeded within t, but is no longer
Run Code Online (Sandbox Code Playgroud)

python random module class seed

14
推荐指数
2
解决办法
4090
查看次数

如何使用Python的随机数生成器与本地种子?

Python的随机似乎是全局的,因此更改它的模块将相互影响.

虽然当然有许多第三方模块,但有没有办法使用Python的标准库在上下文中包含一个本地随机数.

(不使用random.get/setstate,在混合来自不同模块的代码时可能会出现问题).

就像是...

r = random.context(seed=42)
number = r.randint(10, 20)
Run Code Online (Sandbox Code Playgroud)

每个模块可以使用自己的随机上下文.

python random python-3.x

8
推荐指数
1
解决办法
1390
查看次数

标签 统计

python ×2

random ×2

class ×1

module ×1

python-3.x ×1

seed ×1