# Par exemple pour Fool et Sage vous devez renvoyez le résultat suivant : # # FOOL # POOL # POLL # POLE # PALE # SALE # SAGE # # SOLUTION: graph = {'A': ['B', 'C'], 'B': ['C', 'D'], 'C': ['D'], 'D': ['C'], 'E': ['F'], 'F': ['C'] } def chemin(graphe, source, destination, visite=None): if source == destination: return [destination] else: visite = visite or set() for s in graphe[source]: if s not in visite: visite.add(s) print("trace:", source + " > " + s) sous_chemin = chemin(graphe, s, destination, visite) if sous_chemin is not None: return [source] + sous_chemin print(chemin(simGraphe(["AA", "AB", "BC", "AC", "DD"]), "AA", "BC")) # ['AA', 'AB', 'AC', 'BC']