0

私は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])
4

1 に答える 1