Ir ao conteúdo
  • Cadastre-se

Fídias Torres

Membro Pleno
  • Posts

    26
  • Cadastrado em

  • Última visita

  1. cadastro - html .txtcadastro - css .txtcadastro - jsGostaria que todos os alertas (como os de erro, por exemplo) funcionassem através de popups feitos com css e js. Alguém consegue me ajudar por favor? Obrigado pela a atenção. <>
  2. import panda as pd linhas = ['a', 'b', 'c', 'd'] colunas_pd = ['a', 'b', 'c', 'd', 'VETOR'] tabela_ vetor = [[[1, 0.14, 0.33, 5, 0.11974788496271377], [7, 1, 3, 9, 0.5845358102733219], [3, 0.33, 1, 7, 0.2546533417662676], [0.2, 0.11, 0.14, 1, 0.04106296299769667]], [[1, 0.2, 5, 5, 0.2305237676056338], [5, 1, 9, 9, 0.652618838028169], [0.2, 0.11, 1, 1, 0.058428697183098594], [0.2, 0.11, 1, 1, 0.058428697183098594]], [[1, 5, 0.14, 3, 0.19012856410579226], [0.2, 1, 0.11, 0.33, 0.04681627966159607], [7, 9, 1, 7, 0.6644715733473034], [0.33, 3, 0.14, 1, 0.09858358288530823]], [[1, 0.11, 0.33, 0.33, 0.05156119438856454], [9, 1, 7, 9, 0.6953192494012309], [3, 0.14, 1, 3, 0.15774272041128745], [3, 0.11, 0.33, 1, 0.09537683579891712]]] tabela_contas = pd.DataFrame(data = tabela_vetor[0][0], index = linhas, columns = colunas_pd) print(tabela_contas) Boa noite, estou tentando fazer essa tabela com o pandas, porém o seguinte erro é exibido: Traceback (most recent call last): File "c:\Users\torre\OneDrive\Área de Trabalho\AHP\AHP\main.py", line 302, in <module> tabela_contas = pd.DataFrame(data = tabela_vetor[0][0], index = linhas, columns = colunas_pd) File "C:\Users\torre\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\core\frame.py", line 737, in __init__ mgr = ndarray_to_mgr( File "C:\Users\torre\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\core\internals\construction.py", line 351, in ndarray_to_mgr _check_values_indices_shape_match(values, index, columns) File "C:\Users\torre\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\core\internals\construction.py", line 422, in _check_values_indices_shape_match raise ValueError(f"Shape of passed values is {passed}, indices imply {implied}") ValueError: Shape of passed values is (5, 1), indices imply (4, 5)
  3. @Joaoow Bom dia! Obrigado, funcionou certinho aqui
  4. def qd_coli(): x = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) y = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) return x, y Estou com uma dúvida, gostaria de saber como eu faria para conseguir utilizar os valores x e y que estão dentro da função
  5. @Denis Bopp import os linhas = [] colunas = [] valores_colunas = [] qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) os.system('cls') for coluna in range(qtdColuna): print("COLUNA ",coluna +1) nom_coluna = str(input("NOME DESSA COLUNA: ") ) colunas.append(nom_coluna) for linha in range(qtdLinha): print("LINHA ",linha +1) nom_linha = str(input("NOME DESSA LINHA: ") ) linhas.append(nom_linha) for coluna in range(qtdColuna): vet_coluna = [] for linha in range(qtdLinha): print("ARMAZENAR VALOR EM", colunas[coluna], '&', linhas[linha]) val = int(input(": ") ) vet_coluna.append(val) valores_colunas.append( vet_coluna ) os.system('cls') #MAIOR E MENOR PARA CADA COLUNA DA MATRIZ menor = [] maior = [] maiores = [] menores = [] n = -1 p = -1 for position_n in range(qtdColuna): n += 1 for maimen in range(qtdLinha): p += 1 for p in range(qtdColuna): if p == 0: maior = menor = valores_colunas[n][p] else: if valores_colunas[n][p] > maior: maior = valores_colunas[n][p] if valores_colunas[n][p] < menor: menor = valores_colunas[n][p] maiores.append(maior) menores.append(menor) #CONTADOR PARA AS DIFERENÇAS DAS LINHAS DAS COLUNAS DA MATRIZ difer = [] n1 = -1 p1 = -1 for coluna in range(qtdColuna): difer_arrayzin = [] n1 += 1 p1 = -1 difer.append(difer_arrayzin) for linha in range(qtdLinha): p2 = -1 p1 += 1 for coluna_ in range(qtdColuna): p2 += 1 min_difer = valores_colunas[n1][p1] - valores_colunas[n1][p2] difer_arrayzin.append(min_difer) #APLICA A REGRA DE TRÊS NAS DIFERENÇAS regra_min = 0 position_x = -1 position_y = -1 var_rg = -1 regra_de_tres = [] for coluna in range(qtdColuna): rgt = [] position_x += 1 position_y = -1 var_rg += 1 regra_de_tres.append(rgt) for linha in range(qtdLinha): for coluna_ in range(qtdColuna): position_y += 1 regra_min = difer[position_x][position_y] * 9 / (maiores[var_rg] - menores[var_rg]) rgt.append(regra_min) #APLICA ARREDONDAMENTO AOS VALORES DA REGRA DE TRÊS arredondamento = [] position_x2 = -1 position_y2 = -1 var_arre = 0 for arre in range(qtdColuna): ard = [] position_x2 += 1 position_y2 = -1 arredondamento.append(ard) for arre1 in range(qtdLinha): for arre_ in range(qtdColuna): position_y2+= 1 if regra_de_tres[position_x2][position_y2] == 0: var_arre = 1 if regra_de_tres[position_x2][position_y2] == 1: var_arre = 1 if regra_de_tres[position_x2][position_y2] > 1: var_arre = 3 if regra_de_tres[position_x2][position_y2] == 3: var_arre = 3 if regra_de_tres[position_x2][position_y2] > 3: var_arre = 5 if regra_de_tres[position_x2][position_y2] == 5: var_arre = 5 if regra_de_tres[position_x2][position_y2] > 5: var_arre = 7 if regra_de_tres[position_x2][position_y2] == 7: var_arre = 7 if regra_de_tres[position_x2][position_y2] > 7: var_arre = 9 if regra_de_tres[position_x2][position_y2] == 9: var_arre = 9 if regra_de_tres[position_x2][position_y2] < -1: var_arre = 0.33 if regra_de_tres[position_x2][position_y2] == -3: var_arre = 0.33 if regra_de_tres[position_x2][position_y2] < -3: var_arre = 0.20 if regra_de_tres[position_x2][position_y2] == -5: var_arre = 0.20 if regra_de_tres[position_x2][position_y2] < -5: var_arre = 0.14 if regra_de_tres[position_x2][position_y2] == -7: var_arre = 0.14 if regra_de_tres[position_x2][position_y2] < -7: var_arre = 0.11 if regra_de_tres[position_x2][position_y2] == -9: var_arre = 0.11 ard.append(var_arre) array = [] pos1 = -1 for array___ in range(qtdColuna): pos1 += 1 pos2 = -1 test = [] for array_ in range(qtdLinha): tes = [] for array__ in range(qtdColuna): pos2 += 1 bidimensional = arredondamento[pos1][pos2] tes.append(bidimensional) test.append(tes) array.append(test) print(array) arredondamento = [[[1, 7, 3, 0.2], [0.14, 1, 0.33, 0.11], [0.33, 3, 1, 0.14], [5, 9, 7, 1]], [[1, 5, 0.2, 0.2], [0.2, 1, 0.11, 0.11], [5, 9, 1, 1], [5, 9, 1, 1]], [[1, 0.2, 7, 0.33], [5, 1, 9, 3], [0.14, 0.11, 1, 0.14], [3, 0.33, 7, 1]], [[1, 9, 3, 3], [0.11, 1, 0.14, 0.11], [0.33, 7, 1, 0.33], [0.33, 9, 3, 1]]] somatoria = [] posit = -1 posit2 = -1 posit3 = -1 som = 0 for e_ in range(qtdColuna): somato = [] posit += 1 somatoria.append(somato) for e__ in range(qtdLinha): soma = [] posit2 += 1 posit3 = -1 somato.append(som) som = 0 for e___ in range(qtdColuna): posit3 += 1 som += arredondamento[posit][posit2][posit3] print(somatoria) Na realidade esse é o meu código completo, fiz a lista de arredondamento ser armazenada desse jeito para facilitar o cálculo do vetor futuramente
  6. arredondamento = [[[1, 7, 3, 0.2], [0.14, 1, 0.33, 0.11], [0.33, 3, 1, 0.14], [5, 9, 7, 1]], [[1, 5, 0.2, 0.2], [0.2, 1, 0.11, 0.11], [5, 9, 1, 1], [5, 9, 1, 1]], [[1, 0.2, 7, 0.33], [5, 1, 9, 3], [0.14, 0.11, 1, 0.14], [3, 0.33, 7, 1]], [[1, 9, 3, 3], [0.11, 1, 0.14, 0.11], [0.33, 7, 1, 0.33], [0.33, 9, 3, 1]]] somatoria = [] posit = -1 posit2 = -1 posit3 = -1 som = 0 for e_ in range(4): somato = [] posit += 1 somatoria.append(somato) for e__ in range(4): soma = [] posit2 += 1 posit3 = -1 somato.append(som) som = 0 for e___ in range(4): posit3 += 1 som += arredondamento[posit][posit2][posit3] print(somatoria) som += arredondamento[posit][posit2][posit3] TypeError: 'int' object is not subscriptable este erro acima é apresentado quando eu tento rodar o meu código, alguém pode me ajudar?
  7. @devair1010 n1 = -1 n2 = -1 for diferença in range(qtdColuna): n1 += 1 n2 += 1 for diferença2 in range(qtdLinha): p1 = -1 for diferença3 in range(qtdLinha): p1 += 1 p2 = -1 for diferença4 in range(qtdLinha): p2 += 1 r1.append(valores_colunas[n1][p1] - valores_colunas[n2][p2]) regra_de_tres_p1.append(r1) print(regra_de_tres_p1) Fiz desse jeito aqui e ta dando certo, mas ele ta salvando o mesmo valor repetidas vez de acordo com a quantidade de Linha que eu seleciono: por exemplo: se eu escolho a quantidade de Linha como 4, ele vai fazer todas as diferenças e armazenar 4 vezes. Tem alguma maneira de arrumar isso?
  8. import os linhas = [] colunas = [] valores_colunas = [] menor = [] maior = [] maiores = [] menores = [] lixeira = [] regra_de_tres_p1 = [] regra_de_tres_p2 = [] n = -1 p = -1 r1 = [] qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) os.system('cls') for coluna in range(qtdColuna): print("COLUNA ",coluna) nom_coluna = str(input("NOME DESSA COLUNA: ") ) colunas.append(nom_coluna) for linha in range(qtdLinha): print("LINHA ",linha) nom_linha = str(input("NOME DESSA LINHA: ") ) linhas.append(nom_linha) for coluna in range(qtdColuna): vet_coluna = [] for linha in range(qtdLinha): print("ARMAZENAR VALOR EM", colunas[coluna]," COLUNA", linhas[linha]) val = int(input(": ") ) vet_coluna.append(val) valores_colunas.append( vet_coluna ) os.system('cls') for position_n in range(qtdLinha): n += 1 for maimen in range(qtdColuna): p += 1 for p in range(qtdColuna): if p == 0: maior = menor = valores_colunas[n][p] else: if valores_colunas[n][p] > maior: maior = valores_colunas[n][p] if valores_colunas[n][p] < menor: menor = valores_colunas[n][p] maiores.append(maior) menores.append(menor) print(valores_colunas) n1 = -1 n2 = -1 p1 = -1 p2 = -1 p3 = -1 for diferença in range(qtdColuna): n1 += 1 n2 += 1 for diferença2 in range(qtdLinha): p1 += 1 for diferença3 in range(qtdLinha): p2 += 1 p3 += 1 r1.append(valores_colunas[n1][p1] - valores_colunas[n2][p2]) if r1[p3] != 0: regra_de_tres_p1.append(r1) else: lixeira.append(r1) print(regra_de_tres_p1) print(lixeira) Nessa parte que está dando erro de "list index out of range" n1 = -1 n2 = -1 for diferença in range(qtdColuna): n1 += 1 n2 += 1 for diferença2 in range(qtdLinha): p1 = -1 p1 += 1 p2 = -1 for diferença3 in range(qtdLinha): p2 += 1 for diferença4 in range(qtdLinha): r1.append(valores_colunas[n1][p1] - valores_colunas[n2][p2]) regra_de_tres_p1.append(r1) print(regra_de_tres_p1) Achei essa solução, mas ele ta armazenando o mesmo valor de acordo com o range
  9. @devair1010 Muito obrigado! Funcionou como eu queria. Salvou minha vida mais uma vez!
  10. import os linhas = [] colunas = [] valores_colunas = [] menor = [] maior = [] maiores = [] menores = [] lixeira = [] regra_de_tres_p1 = [] regra_de_tres_p2 = [] n = -1 p = -1 n1 = -1 p1 = -1 n2 = -1 p2 = -1 n3 = 0 n4 = 0 r1 = [] r2 = [] r3 = [] qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) os.system('cls') for coluna in range(qtdColuna): print("COLUNA ",coluna) nom_coluna = str(input("NOME DESSA COLUNA: ") ) colunas.append(nom_coluna) for linha in range(qtdLinha): print("LINHA ",linha) nom_linha = str(input("NOME DESSA LINHA: ") ) linhas.append(nom_linha) for coluna in range(qtdColuna): vet_coluna = [] for linha in range(qtdLinha): print("ARMAZENAR VALOR EM", colunas[coluna]," COLUNA", linhas[linha]) val = int(input(": ") ) vet_coluna.append(val) valores_colunas.append( vet_coluna ) os.system('cls') for position_n in range(qtdLinha): n += 1 for maimen in range(qtdColuna): p += 1 for p in range(qtdColuna): if p == 0: maior = menor = valores_colunas[n][p] else: if valores_colunas[n][p] > maior: maior = valores_colunas[n][p] if valores_colunas[n][p] < menor: menor = valores_colunas[n][p] maiores.append(maior) menores.append(menor) for diferenças in range(qtdColuna): n1 += 1 n2 += 1 n3 += 1 n4 += 1 for diferenças in range(qtdLinha): p1 += 1 p2 += 1 valores_colunas[n1][p1] == r1 valores_colunas[n2][p2] == r2 r3.append(r1[n3] - r2[n4]) if r3 == 0: lixeira.append(r3) else: regra_de_tres_p1.append(r3) print(regra_de_tres_p1) #x = 9 * n / (maiores[n]-menores[n]) Não to conseguindo fazer com que o python faça essa conta e armazene na lista "r3" essa parte que ta dando erro
  11. import os from array import array tudao = [] qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) os.system('cls') for nome_coluna in range(qtdColuna): tudao.append(list.__str__(input('DIGITE O NOME DA COLUNA: '))) for valor_coluna in range(qtdLinha): tudao.append(int(input('DIGITE O VALOR DA COLUNA: '))) print(tudao) Gostaria de saber se tem como eu transformar o nome que eu coleto em uma lista e em seguida armazenar os valores na lista respectiva. Também não sei com faria para "chamar" os valores depois, pois sempre variam quantos nomes e valores eu irei coletar.
  12. @devair1010 import os from array import array tudao = [] qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) os.system('cls') for nome_coluna in range(qtdColuna): tudao.append(list.__str__(input('DIGITE O NOME DA COLUNA: '))) for valor_coluna in range(qtdLinha): tudao.append(int(input('DIGITE O VALOR DA COLUNA: '))) print(tudao) Mudei o código para esse, gostaria de saber se tem como eu transformar o nome que eu coleto em uma lista e em seguida armazenar os valores na lista respectiva. Também não sei com faria para "chamar" os valores depois, pois sempre variam quantos nomes e valores eu coleto.
  13. from array import array import os #MATRIZES colunas = [] linhas = [] valores = [] #COLETA O NÚMERO DE LINHAS E COLUNAS try: qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA TABELA: ')) except ValueError: print('LETRAS NÃO ACEITAS NESSA SEÇÃO.') try: qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA TABELA: ')) except ValueError: print('LETRAS NÃO ACEITAS NESSA SEÇÃO.') #LIMPA A TELA os.system('cls') #APRESENTA O NÚMERO DE COLUNAS SELECIONADOS print(f'O NÚMERO DE COLUNAS DA SUA TABELA FOI DEFINIDO COMO : {qtdColuna}') #PERGUNTA SE DESEJA ALTERAR ESTE VALOR try: print('DESEJA ALTERAR O NÚMERO DE COLUNAS DA SUA TABELA?') print('0 (SIM)') print('1 (NÃO)') xcoluna_nova = int(input('ESCOLHA UMA OPÇÃO: ')) except ValueError: print('LETRAS NÃO ACEITAS NESSA SEÇÃO.') #LIMPA A TABELA os.system('cls') if xcoluna_nova == 0: qtdColuna = int(input('DIGITE O NÚMERO DE COLUNAS DA SUA NOVA TABELA: ')) #APRESENTA O NÚMERO DE COLUNAS E LINHAS SELECIONADOS print(f'O NÚMERO DE COLUNAS DA SUA TABELA NOVA FOI DEFINIDO COMO : {qtdColuna}') if xcoluna_nova == 1: #LIMPA A TELA os.system('cls') #APRESENTA O NÚMERO DE LINHAS SELECIONADOS os.system('cls') print(f'O NÚMERO DE LINHAS DA SUA TABELA FOI DEFINIDO COMO : {qtdLinha}') #PERGUNTA SE DESEJA ALTERAR ESTE VALOR try: print('DESEJA ALTERAR O NÚMERO DE LINHAS DA SUA TABELA?') print('0 (SIM)') print('1 (NÃO)') ylinha_nova = int(input('ESCOLHA UMA OPÇÃO: ')) except ValueError: print('LETRAS NÃO ACEITAS NESSA SEÇÃO.') if ylinha_nova == 0: qtdLinha = int(input('DIGITE O NÚMERO DE LINHAS DA SUA NOVA TABELA: ')) #APRESENTA O NÚMERO DE COLUNAS E LINHAS SELECIONADOS print(f'O NÚMERO DE LINHAS DA SUA TABELA NOVA FOI DEFINIDO COMO : {qtdLinha}') if ylinha_nova == 1: #LIMPA A TELA os.system('cls') #NOME PARA AS COLUNAS E LINHAS os.system('cls') for nomes_colunas in range(qtdColuna): colunas.append(str(input('DIGITE UM NOME PARA COLUNA: '))) for nomes_linhas in range(qtdLinha): linhas.append(str(input('DIGITE UM NOME PARA LINHAS: '))) os.system('cls') for valor_colunas in range(qtdColuna): for valor_linhas in range(qtdLinha): valores.append(int(input('DIGITE OS VALORES DA SUA TABELA: '))) os.system('cls') print(colunas) print(linhas) print(valores) Fiz esse código, e na hora que coleta os nomes para as colunas e linhas, gostaria que as strings virassem outra lista, isso é possível?
  14. @devair1010 Obrigado pela dica! Estava preso nesse projeto que tinha começado em C#, agora eu fiz em Python e o código ficou bem menor e funcional.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...