当前位置:首页 > 操作系统 > MacOs

种子python随机在Mac和Windows上产生不同的数字

我参与了一个将在Mac和Windows上运行的python应用程序,使用py2app和py2exe打包成可执行文件.所有应用程序始终生成相同的随机数非常重要.所以随机模块总是得到相同的种子.

但是,在Windows和Mac上,random.shuffle()的结果似乎非常不同.

有没有办法确保始终生成相同的随机数?

代码非常令人兴奋:

<code>import random
random.seed("ladygaga")
swaplist_odd  = [n for n in range(len(clipboard)) if n % 2 != 0]
swaplist_even = [n for n in range(len(clipboard)) if n % 2 == 0]
random.shuffle(swaplist_odd)
random.shuffle(swaplist_even)
</code>

想法是洗牌缓冲区,并能够通过再次洗牌重新创建原始缓冲区.

如果进程保留在一个操作系统中,则没有问题.一旦将缓冲区文件复制到另一个操作系统,原始文件的重新创建就会失败.

解决方法:

你有可能使用两个不同版本的Python吗?

根据documentation,Python从使用Wichmann-Hill算法转向使用Mersenne Twister生成从2.3开始的伪随机数.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐