私はPythonの初心者です。PyEDA を使用してテキスト文字列を DNF 形式に変換しようとしています。私のコードは、この文字列に対して正常に動作します。
X[0]&(X[1]|X[2]) --> Or(And(X[0],X[1]), And(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])