我是 Python 的初学者。我正在尝试使用 PyEDA 将文本字符串转换为其 DNF 形式。我的代码适用于这个字符串。
X[0]&(X[1]|X[2]) --> 或(和(X[0],X[1]), 和(X[0],X[2]))
但是当我尝试使用下面提到的字符串时,它不能按预期工作。谁能帮我弄清楚出了什么问题?
谢谢!
输入字符串:
X[0]&(X[1]|X[2])&X[3]|X[0]&X[3]
预期输出:
or(and(X[0],X[1],X[3]),and(X[0],X[2],X[3]), and(X[0],X[3])
代码:
import pyeda
from pyeda.inter import *
s = 'X[0]&(X[1]|X[2])&X[3]|X[0]&X[3]'
X=exprvars('x',4)
bs = expr(s)
expression = bs.to_dnf()
expression
电流输出:
And(X[0], X[3])