JPaniagua13 / Quine-McCluskey1

0 stars 0 forks source link

Crear una función que comprube si dos mintérminos en su forma binaria difieren de un dígito #10

Open JPaniagua13 opened 2 years ago

dafta31 commented 2 years ago

Entradas

- numBits: numero de bits de la expresion booleana. Ejemplo: ABC || BC'D -> numBits es 4
- minTerm: diccionario con minterminos sin agrupar. Ejemplo: {1:'0001', 2:'0010', 3:'0011', 7:'0111', 8:'1000', 15:'1111'}

Salidas

- una lista de listas con los minterminos en decimal. El indice equivale al num de 1's del grupo
Ejemplo: [[], [1, 2, 8], [3], [7], [15]]

Ejemplo

def agruparPorUnos(numBits, minTerSinAgrupar):
    minTerAgrupados = list()

    for i in range(0, numBits+1):         #i es el numero de 1's a buscar.
        lista = list()            #Cree un diccionario vacio
        for key in minTerSinAgrupar:    #Itere por el diccionario desagrupado en busqueda de un mintermino con i numero de 1's
            if minTerSinAgrupar[key].count('1') == i:    
                lista.append(key) # Si coincide anadalo al diccionario

        minTerAgrupados.append(lista)  #Agregue el diccionario a la lista
    return minTerAgrupados