Hello there here's the problem : I have this code :
from graphes import Graphe
def permutations(liste):
"""
Génère toutes les permutations d'une liste donnée.
Entrée:
liste (list): La liste à permuter.
Sortie:
list: Une liste de toutes les permutations possibles de la liste d'entrée.
"""
# Si la liste d'entrée ne contient qu'un seul élément, retourner cette liste
if len(liste) == 1:
return [liste]
else:
result = []
# Pour chaque élément dans la liste d'entrée
for i in range(len(liste)):
# Retirer l'élément actuel de la liste
remaining_elements = liste[:i] + liste[i+1:]
# Générer toutes les permutations des éléments restants
for perm in permutations(remaining_elements):
# Ajouter l'élément actuel à chaque permutation générée
result.append([liste[i]] + perm)
# Retourner la liste de toutes les permutations possibles
return result
def generer_parcours(graphe):
"""
Génère tous les chemins possibles à travers un graphe.
Entrée:
graphe (Graphe): Le graphe à parcourir.
Sortie:
list: Une liste de toutes les permutations possibles des sommets du graphe.
"""
# Créer une liste de tous les sommets du graphe
sommets = [i for i in range(graphe.taille)]
# Créer une liste vide pour stocker tous les chemins possibles
liste_parcours = []
# Pour chaque sommet dans le graphe
for i in range(graphe.taille):
# Générer toutes les permutations des premiers i+1 sommets
liste_parcours.append(permutations(sommets[:i+1]))
# Retourner la liste de tous les chemins possibles
return liste_parcours
liste_parcours is supposed to contain all possibilities of combinaitions of the sommets. But the problem is the list is composed of for example [0,1,2] and will return [[[0]], [[0, 1], [1, 0]], [[0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1], [2, 1, 0]] but it's missing things like [1,1,1] the numbers never repeat, removing a lot of possibilities... Please help thanks!
I tried changing my function but i don't know how to solve this