Python Pyeda:布尔表达式的中缀形式
允许以前缀形式和中缀形式编写布尔表达式:Python Pyeda:布尔表达式的中缀形式,python,pyeda,Python,Pyeda,允许以前缀形式和中缀形式编写布尔表达式: p = Or(And("A","B"), And("C","D")) # prefix i = expr("A & B | C & D") # infix 虽然可以从i相对前缀表单中自动检索,但我不知道(文档中没有发现)是否可以检索p的字符串infix表示形式 有什么帮助吗?PyEDA作者在这里 最新版本没有此功能。如果返回到0.26.0版,可以尝试to_latex和to_unicode方法 例如: >>> p = O
p = Or(And("A","B"), And("C","D")) # prefix
i = expr("A & B | C & D") # infix
虽然可以从i
相对前缀表单中自动检索,但我不知道(文档中没有发现)是否可以检索p
的字符串infix表示形式
有什么帮助吗?PyEDA作者在这里
最新版本没有此功能。如果返回到0.26.0版,可以尝试to_latex
和to_unicode
方法
例如:
>>> p = Or(And("A","B"), And("C","D"))
>>> p.to_unicode()
'A · B + C · D'
IIRC,这个省略的原因是布尔表达式引擎从Python切换到C。一对未记录的特性被遗漏了b/c它要么很难,要么已经损坏
PRs当然欢迎:)这太遗憾了。无论如何,克里斯,还有一个问题。有没有办法中和一个公式?从和(或(a,b),和(无,c))到和(或(a,b))不确定你这里所说的“中和”是什么意思。可能类似于直接删除节点的树操作?不,我不认为我已经实现了这种转变。您的示例将返回一个零对象,b/c None将被解释为“false”,并强制内外和为零。你可以尝试使用不同于支配者的身份来消除节点。嗨@Christ Drake我如何安装0.26.0版本?