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