python-3.x - 从由 reduce_rational_inequalities([[-3 < 2*x + 1]], x) 给出的 And 对象中提取值。示例.And(-2 < x, x < oo)

标签 python-3.x sympy inequality

我想从运行 reduce_rational_inequalities([[-3 < 2*x + 1]], x) 得到的结果中提取值.例如我运行上述函数后的答案是

And(-2 < x, x < oo)

.现在我要

-2

从这个输出。我也在用另一个方程式做同样的操作。 reduce_rational_inequalities([[2*x + 1 < 5]], x) .我得到的答案是

And(-oo < x, x < 2)

.现在我要

2

也来自这个输出。并希望合并这两个输出。

如果有人通过特定操作访问了这个 sympy 库。请告诉我。

提前感谢您的帮助。

最佳答案

有人可能会提供更好的答案。但这种方法确实有效。

>>> reduce_rational_inequalities([[-3 < 2*x + 1]], x)
And(-2 < x, x < oo)
>>> result = reduce_rational_inequalities([[-3 < 2*x + 1]], x)
>>> result.args
(-2 < x, x < oo)
>>> result.args[0]
-2 < x
>>> result.args[1]
x < oo
>>> result.args[0].args[0]
-2
>>> result.args[0].args[0].is_number
True

即使结果可以表示为单边区间的元组,就像这里的情况一样,所涉及的常量仍可能出现在不等式的任一侧。但是,您可以使用 is_number 方法来确定哪一侧包含数字。

希望有人有更好的方法。

关于python-3.x - 从由 reduce_rational_inequalities([[-3 < 2*x + 1]], x) 给出的 And 对象中提取值。示例.And(-2 < x, x < oo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42994065/

相关文章:

math - 使用 sagemath 或 sympy 将 n 阶微分方程简化为一阶方程组

python - 同情因素简单的关系

Python Matplotlib : Drawing linear inequality functions

sympy - 使用不等式简化 Sympy 中的方程式

python - 更改上下文的背景图

math - 使用 Sympy 对具有三阶多项式分母的有理函数进行拉普拉斯逆变换

python - argparse 参数依赖

Python SymPy : Error while solving inequality

python - Pip 找不到元数据文件 - EnvironmentError

Python3套接字模块: decoding str