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)
Partager