【发布时间】:2016-05-04 00:22:40
【问题描述】:
在模拟中使用Python符号计算模块“Sympy”非常困难,我需要有可靠的固定输入,为此我在随机模块中使用了seed()。 但是,每次我调用一个简单的 sympy 函数时,它似乎都会用新值覆盖种子,因此每次都会获得新的输出。我搜索了一下,foundthis。但他们都没有解决办法。
考虑这段代码:
from sympy import *
import random
random.seed(1)
for _ in range(2):
x = symbols('x')
equ = (x** random.randint(1,5)) ** Rational(random.randint(1,5)/2)
print(equ)
这个输出
(x**2)**(5/2)
x**4
在第一次运行时,
(x**2)**(5/2)
(x**5)**(3/2)
在第二次运行时,每次我运行脚本时它都会返回新的输出。我需要一种方法来解决这个问题以强制使用种子()。
【问题讨论】:
-
我在 SymPy 的开发版(即将作为新版本发布)中对此进行了测试,似乎已修复。
标签: python python-3.x random sympy random-seed