Итак, исходя из вашего примера ввода / вывода, который был:
IN : поэтому при вводе (a = b) вывод должен быть?- user5173426
OUT : должно быть (a | ~ b) & (b | ~ a) - Yacine Benatia
Я внес несколько изменений в ваш существующий код:
from sympy import symbols, Equivalent
from sympy.logic.boolalg import to_cnf as fnc, Implies, to_cnf
from sympy.abc import a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, v, w, x, y, z
def eq(a, b):
return fnc(Equivalent(a, b), True)
inr = str(input('Enter formula: '))
x = ' '
# get the part of the formula/string before =
y = inr.rsplit('=', 1)[0]
# get the part of the formula/string after =
z = inr.rsplit('=', 1)[1]
for i in inr:
if i == '>':
i = '>>'
x += i
elif i == '=':
i = 'Equivalent'
x = i
elif i != ')':
x += y
x += ','
x += z
# print(x)
print(fnc(x, True))
ВЫХОД: