G = { 'A' : ['B','C', 'F'], 'B' : ['D', 'E'], 'C' : ['F'], 'D' : ['G'], 'E' : ['F'], 'F' : ['G', 'H'], 'G' : ['H'], 'H' : [] } v = set() def traitement(v, G, n): if n not in v: v.add(n) print(n) for m in G[n]: traitement(v, G, m) if __name__ == '__main__': traitement(v, G, 'A') if len(v) > 0: print("Que se passe-t-il ?")