Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 Pyeda:布尔表达式的中缀形式_Python_Pyeda - Fatal编程技术网

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版本?