Python中的析取范式
作者:互联网
使用python,将一串AND和OR转换成disjunctive normal form(也称为“产品总和”)的最佳方法是什么?
b AND (c OR (a AND d))
变
(b AND c) OR (b AND a AND d)
我想按字典顺序对这些进行排序
(a AND b AND d) OR (b AND c)
解决方法:
也许这个图书馆可以提供帮助:pyeda
这是一个将表达式转换为DNF的方法:to_dnf()
当然你必须把你的字符串变成一个有效的pyeda表达式……
标签:boolean-expression,python 来源: https://codeday.me/bug/20190929/1833688.html