在模拟中使用Python符号计算模块“Sympy”非常困难,我需要有可靠的固定输入,因为我在随机模块中使用了seed()。 但是每当我调用一个简单的sympy函数时,它似乎用一个新值覆盖种子,从而每次都获得新的输出。我搜索了一下https://docs.angularjs.org/api/ng/directive/ngOptions# found。但他们都没有解决方案。
考虑以下代码:
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)
在第二次运行时,每次运行脚本时都会返回新输出。我需要一种解决方法来强制使用seed()。
答案 0 :(得分:0)
这有帮助吗?来自random上的文档:
“您可以实例化您自己的Random实例,以获取不共享状态的生成器”
用法:
import random
# Create a new pseudo random number generator
prng = random.Random()
prng.seed(1)
此号码生成器不受同情
的影响