Created
August 14, 2018 03:32
-
-
Save jamesperes-zz/e0634c806d0de8ef7cf2aa97c515251a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## chamar ela colocando em uma lista pra ser usada na lista de pesos | |
def normalizar(lista_elementos): | |
lista_final_normalizada = [] | |
lista_dos_somados = [] | |
lista_normalizada = [] | |
lista_sem_zero = [] | |
for elemento in lista_elementos: | |
soma = sum(elemento) | |
lista_dos_somados.append(soma) | |
for elemento_da_soma in lista_dos_somados: | |
maior , menor = max(lista_dos_somados), min(lista_dos_somados) | |
regular = ((elemento_da_soma - menor)/(maior - menor)) | |
lista_normalizada.append(regular) | |
for i in lista_normalizada: | |
if i > 0: | |
lista_sem_zero.append(i) | |
for elemento_normalizado in lista_normalizada: | |
if elemento_normalizado > 0: | |
lista_final_normalizada.append(elemento_normalizado) | |
else: | |
menor_zero = min(lista_sem_zero) | |
lista_final_normalizada.append(menor_zero*0.01) | |
return lista_final_normalizada | |
#chamar dentro de uma lista pra ser usada | |
def normalizar_alternativas(lista_elementos): | |
lista_dos_somados = [] | |
lista_normalizada = [] | |
for elemento in lista_elementos: | |
soma = sum(elemento) | |
lista_dos_somados.append(soma) | |
for elemento_da_soma in lista_dos_somados: | |
maior , menor = max(lista_dos_somados), min(lista_dos_somados) | |
regular = ((elemento_da_soma - menor)/(maior - menor)) | |
lista_normalizada.append(regular) | |
return lista_normalizada | |
def peso_criterios(lista_elementos): | |
num_elementos = len(lista_elementos) | |
pesos = [] | |
i = 0 | |
while i <= num_elementos: | |
soma = sum([item[i] for item in lista_elementos]) | |
i = i+ 1 | |
pesos.append(soma) | |
return pesos | |
##ela vem uma lista de listas de todas as alternativas normalizadas por cada criterio | |
def soma_alternativa_por_criterio(lista_elementos): | |
num_elementos = len(lista_elementos) | |
lista_somada = [] | |
i = 0 | |
while i <= num_elementos: | |
soma = sum([item[i] for item in lista_elementos]) | |
i = i+ 1 | |
lista_somada.append(soma) | |
return lista_somada | |
def multiplica_final(lista_elementos, lista_pesos): | |
num_elementos = len(lista_pesos) | |
lista_somada = [] | |
i = 0 | |
while i < num_elementos: | |
lista_primeiros_elementos = [] | |
lista_primeiros_elementos = [item[i] for item in lista_elementos] | |
lista_multi = [] | |
for numint, peso in enumerate(lista_pesos): | |
multi = peso * lista_primeiros_elementos[numint] | |
lista_multi.append(multi) | |
i = i + 1 | |
lista_somada.append(sum(lista_multi)) | |
return lista_somada |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment