sympy预购遍历:我想选择..t GreaterThan元素



2way?

① 我想选择。。。t大于元素---->n>6.1875

② 我可以将其转换为字符串并使用正则表达式。

preorder遍历<在树上漫步https://docs.sympy.org/latest/tutorial/manipulation.html#walking-树

我试试

from sympy import *
var('n')
f=(99/16 < n) & (n < oo)
for arg in preorder_traversal(f):
print("#",arg,"____",type(arg))
# (n > 6.1875) & (n < oo) ____ And
# n < oo ____ <class 'sympy.core.relational.StrictLessThan'>
# n ____ <class 'sympy.core.symbol.Symbol'>
# oo ____ <class 'sympy.core.numbers.Infinity'>
# n > 6.1875 ____ <class 'sympy.core.relational.StrictGreaterThan'>
# n ____ <class 'sympy.core.symbol.Symbol'>
# 6.18750000000000 ____ <class 'sympy.core.numbers.Float'>

参考(

仅限日语

https://ja.stackoverflow.com/questions/74249/sympy%E3%81%AE1%E5%A4%89%E6%95%B0%E4%B8%8D%E7%AD%89%E5%BC%8F-不等式求解器-%E3%81%AB%E3%81%A4%E3%81%84%E3%85%A6%E6%95%99%E3%88%E3%81%A6%E4%B8%88%E3%81%95%E3%84%84

我真的不确定你在要求什么,但如果你声明n是真实的(因此是有限的(,那么这将自动简化:

In [5]: n = symbols('n', real=True)
In [6]: f=(99/16 < n) & (n < oo)
In [7]: f
Out[7]: n > 6.1875

最新更新