Это мой код:
from operator import index
import sympy
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
import tkinter
def eq(a, b):
return fnc(Equivalent(a, b), True)
inr = str(input('Enter formula: '))
x = ' '
for i in inr:
#print(inr[inr.index(i-2)])
if i == '>':
i = '>>'
x += i
elif i == '=':
print(i)
i = 'Equivalent'
x += i
else:
x += i
print(fnc(x, True))
Так что, если я введу = (a, b), это сработает.'=' вызовет функцию Equivalent(a, b)
, которая вернет конъюнктивную нормальную форму формулы.Я хочу управлять индексом i
, чтобы присвоить значение Equivalent
вместо ввода = (a, b).Я введу (a = b), поэтому переместите '=' в три поля = (a, b).