Ir para conteúdo
Fórum Script Brasil

Fernandus

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Fernandus

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Fernandus's Achievements

0

Reputação

  1. Dei um print(len(matrizAdjacencia)), e retornou 40, o número de vertices. Era pra fazer assim? Obrigado.
  2. Olá Pessoal, Eu sou novo no fórum, e novo na linguagem Python. Estou fazendo um programinha que lê um arquivo .txt para obter os dados de um grafo. Efetuada a leitura, eu preciso criar uma matriz de adjacência para ele. a Matriz de adjacência é uma matriz binária que marca com 1 a existência de aresta entre dois vértices do grafo, no qual sua dimenção é n x n, onde n é o número de vértices contidos no grafo. Para criar a criar a matriz de adjacência, iniciei uma matriz preenchendo-a com zeros da seguinte forma: matrizAdjacencia = [[0 for i in range(1,numVertice+1)] for j in range(1,numVertice+1)] Logo em seguida, para ler cada linha do arquivo e gerar a matriz, escrevi o seguinte código: for i in range(1,numAresta+1): str = arquivo.readline() str = str.split() origem = int(str[0]) destino = int(str[1]) distancia = int(str[2]) custo = (str[3]) custo = custo.split('\n') custo = float(custo[0]) matrizAdjacencia[origem][destino] = 1 Porém quando executo o código, exibe o erro : "matrizAdjacencia[origem][destino] = 1 IndexError: list index out of range" Eu imaginei que o erro ocorresse por que o for está em relação ao número de arestas (100) e a inicialização da matriz foi em relação ao número de vértices (40), porém não me parece que estou percorrendo a matriz iniciada, estou apenas acessando os índices, e este erro não parece fazer sentido. Agradeço desde já a todos.
×
×
  • Criar Novo...