Permutations

Fermé
lealamalice Messages postés 3 Date d'inscription samedi 16 mars 2019 Statut Membre Dernière intervention 23 mars 2019 - 23 mars 2019 à 12:20
lealamalice Messages postés 3 Date d'inscription samedi 16 mars 2019 Statut Membre Dernière intervention 23 mars 2019 - 23 mars 2019 à 19:36
Bonjour,

Je dois trouver comment écrire la fonction qui à partir d'une permutation renvoie toutes les permutations possibles (au nombre de n!, où n est le nombre d'élément de la permutation). Je dois précisément répondre à la consigne suivante :

"En utilisant les commandes "remove" et "insert" de PYTHON, définissez la fonction "my_permute(llist)" qui prend la liste llist comme paramètre, et qui renvoie la liste de toutes les permutations de llist."

Or je ne trouve pas de moyen d'écrire cela en respectant les consignes.
Pouvez-vous m'aider?

Merci,
Léa

            
                

1 réponse

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 324
Modifié le 23 mars 2019 à 14:52
0
lealamalice Messages postés 3 Date d'inscription samedi 16 mars 2019 Statut Membre Dernière intervention 23 mars 2019
23 mars 2019 à 19:36
Bonjour,
Désolée,
Voici ce que j'ai déjà, mais c'est vraiment maigre car je ne sais pas comment avancer (je débute totalement).
J'ai mis en "#" ce que j'aimerais écrire comme étapes suivantes (car je pense que cela fonctionnerait pour exprimer ce que je dois obtenir), mais je ne suis pas du tout familière avec le langage donc je ne sais pas comment exprimer ça sur Jupyter Notebook :

from sympy import *
from math import *
def my_permute(llist):
if len(llist) <=1:
print(llist)
else:
#idée: 1. boucle qui supprime méthodiquement des éléments, puis qui mélange les éléments restants
# donc on aurait au début la permutation sans changement : [1][2][3][4] , puis une permutation avec deux éléments qui permuttent
#pour avoir par exemple [2,4] apd [1,2,3,4]
#etc jusqu'à 4. Au total si n est le nb d'éléments de la liste, on finira par avoir n! permutations possibles


Pouvez-vous m'aider ?
Merci,
Léa
0