class Graphe: def __init__(self, *args): self.edges = [e for e in args] self.nodes = [] for e in self.edges: if e[0] not in self.nodes: self.nodes += [ e[0] ] if e[1] not in self.nodes: self.nodes += [ e[1] ] def mat(self): self.mat = [[ 0 for j in range(len(self.nodes))] for i in range(len(self.nodes))] for i in self.edges: self.mat[ self.nodes.index(i[0]) ][ self.nodes.index(i[1]) ] = 1 self.mat[ self.nodes.index(i[1]) ][ self.nodes.index(i[0]) ] = 1 return self.mat if __name__ == "__main__": G = Graphe( ('A','B') , ('A','C') , ('B','C') ) print( 'Les noeuds de G sont : {}'.format(G.nodes) ) print( 'Les arĂȘtes de G sont : {}'.format(G.edges) ) print( 'La matrice d\'adjacence de G est : {}'.format(G.mat()) )