Bonsoir,besoin d'aide svp
j'ai un DM à faire et j'arrive pas à finaliser.
le but de l'exercice est de lire un graphe orienté contenu dans un fichier à partir de python et de le représente en matrice adjacente.
le fichier test.txt est le suivant
"""
4
5
3 1 25
1 0 12
2 0 -5
0 1 0
2 1 7

""""
cela correspond à un graphe contenant 4 sommets numérotés de 0 à 3 (numérotation contiguë), et 5 arcs (3,1),
(1,0), (2,0), (0,1), (2,1) de valeurs respectives 25, 12, -5, 0 et 7


j'ai passé toute la journée dessus mais le seul résultat que j'ai construit les éléments 1 à 1 et donc réinitialise tout quand je run. ça n'a pas l'air trop compliqué quand on regarde mais j'ai passé toute la journée dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np
with open("test.txt",'r') as fic:
    content=fic.readline()
    b=int(content)
    arrête=5
    mat=np.zeros((b,b))
    for i in range(arrête-1):
        mat[i,i]=0
    c=list(fic.readlines()[5])
    valeur=''
    cmp=3
    while c[cmp] != '\n':
        valeur+=c[cmp]
        cmp+=1
    x=int(c[0])
    y=int(c[2])
    z=int(valeur)
    mat[x,y]=z
    print (mat)