def buscar(a):#Permite la busqueda de los binarios de minterminos con su comparación de bits
gaps = a.count('-')
if gaps == 0:
return [str(int(a,2))]
x = [bin(i)[2:].zfill(gaps) for i in range(pow(2,gaps))]
temp = []
for i in range(pow(2,gaps)):
temp2,ind = a[:],-1
for j in x[0]:
if ind != -1:
ind = ind+temp2[ind+1:].find('-')+1
else:
ind = temp2[ind+1:].find('-')
temp2 = temp2[:ind]+j+temp2[ind+1:]
temp.append(str(int(temp2,2)))
x.pop(0)
return temp
def comparar(a,b):#Comparación de bit en binarios de los minterminos
c = 0
for i in range(len(a)):
if a[i] != b[i]:
indice = i
c += 1
if c>1:
return (False,None)
return (True,indice)
def aplanar_lista(x):#Permite la reducción de la lista
elementos_aplanados = []
for i in x:
elementos_aplanados.extend(x[i])
return elementos_aplanados