Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么sympy.simplify会更改随机状态_Python_Python 3.x_Sympy - Fatal编程技术网

Python 为什么sympy.simplify会更改随机状态

Python 为什么sympy.simplify会更改随机状态,python,python-3.x,sympy,Python,Python 3.x,Sympy,以下测试失败: def test_sympy_simplify(): import sympy import random random.seed(42) state = random.getstate() expr = "sin(x)**2 + cos(x)**2" sympy.simplify(expr) assert state == random.getstate() 为什么会失败?为什么简化需要随机性? 在多次运行此代码段时,状

以下测试失败:

def test_sympy_simplify():
    import sympy
    import random
    random.seed(42)
    state = random.getstate()
    expr = "sin(x)**2 + cos(x)**2"
    sympy.simplify(expr)
    assert state == random.getstate()
为什么会失败?为什么简化需要随机性?
在多次运行此代码段时,状态的变化似乎也有所不同。

我曾经研究过这个问题:

这是因为导入Symphy将导入其测试帮助程序,而测试帮助程序的定义如下:

class SymPyTests(object):
    def __init__(self, ..., seed=random.random()):
        #...
        self._seed = seed
阅读博客文章,了解我是如何发现它的,以及错误喜剧的其他方面