Bonsoir,
Pouvez vous m'aider à créer une fonction qui renvoie les anagrammes d'une chaine dans un lexique
en utilisant le langage le plus élémentaire de python.
Je suis débutant et je n'y arrive pas...
Merci d'avance
Bonsoir,
Pouvez vous m'aider à créer une fonction qui renvoie les anagrammes d'une chaine dans un lexique
en utilisant le langage le plus élémentaire de python.
Je suis débutant et je n'y arrive pas...
Merci d'avance
Personne ne te donnera la solution ici si tu ne montres pas de la bonne volonté et en essayant de faire ton exo.
Bonsoir! Un anagramme étant une permutation quelconque d'une chaine, tu peux :
1 - utiliser le module itertools
2 - Te renseigner sur ce post : http://www.developpez.net/forums/d14...ion-aleatoire/
où une personne demandais un peu près la même chose mais avec une liste
3 - Poster un bout de code qu'on voie ou tu en es dans ta recherche![]()
En tout cas le seul anagramme de python en français c'est typhon![]()
Pour l'instant j'essai quelque chose comme ca: mais au je pense que mon probleme est au niveau des patterns puisque le reste fonctionne
def fonction1(chaine,lexique):
....... motmlong=[]
....... res=[]
.......ana=[]
....... for mot in lexique:
................... if len(chaine)==len(mot):
................................ res.append(mot)
....... .for mot in res:
................ if len(chaine)==len(mot):
........................ motmlong.append(mot)
....... for mot in motmlong:
.................. patternch=re.compile('[a-z]*')
................. patternmot=re.compile('[a-z]*')
................. if patternch==patternmot:
......................... ana.append(mot)
........ return ana
là ca me sors que les mots de même longueur mais ca ne trie pas ceux qui ont les mêmes lettres
def fonction1(chaine,lexique):
motmlong=[]
res=[]
ana=[]
for mot in lexique:
......... if len(chaine)==len(mot):
................ res.append(mot)
for mot in res:
.......... if len(chaine)==len(mot):
................ motmlong.append(mot)
for mot in motmlong:
.......... patternch=re.compile('[a-z]*')
............. patternmot=re.compile('[a-z]*')
............ if patternch==patternmot:
................ if patternch.match(mot):
.................... ana.append(mot)
....... if patternmot.match(mot):
.................. ana.append(mot)
return ana
La ca me les sors tous en double
Pardon mais je comprend vraiment rien...
Salut,
Vous devriez lire la FAQ pour apprendre comment poster du code dans le forum.
Ca aiderait pour lire votre code... et peut être commencer à imaginer comment répondre à vos questions.
- W
Bon laissez tomber
on n'est pas tous pro de programmation et on n'aime pas tous ca, je demandais juste une aide pour un devoir et au lieu de ca je me retrouve confronter a des gens qui ne font que me faire comprendre que je ne sais rien faire.
Merci d'avoir quand même jeter un coup d'oeil a ma discussion
vous pouvez la supprimer
Cordialement
Sur l'autre fil, je t'avais demandé de poster ton code entre balises : nul besoin d'être pro en programmation pour faire cela.
L'aide est efficace ici mais il faut un minimum de bonne volonté. Tu ne veux pas remettre ton code ? Sinon, c'est galère pour les intervenants.
Partager