SymPy 中的"&"是什么意思?



什么是"amp"SymPy结果中的确切平均值?它总是意味着";和";?

例如:

solve(Eq(216, abs(y**3)))

输出:(6<y(|(y<-6(|((-6<y(>(y<6((

所以我可以这样向用户显示:

print(str(solve(Eq(216, abs(y**3)))).replace("&", "and").replace("|", "or"))

输出:(6<y((y<-6(

它是Python"以及";操作人员"|"是";或";操作人员Python还具有";以及";以及";或";关键字。如果您键入";所以它的意思是";表达式,您将得到一个错误,因为";以及";以及";或";正在使用bool(thing(==True或False期待事物。

SymPy知道您可能不希望(x<1) and (x>2)的求值结果为True,因此它会为您带来错误(而对于像x and y这样的东西,SymPy使用正常的Python语义并返回y(要获得未求值的表达式,您可以编写(x<1) & (x>2)And(x<1, x>2)。当您简化该表达式时,它将简化为false:And(x<1, x>2).simplify() -> false。表达式And(x,y)不会简化为任何内容。

最新更新