Skip to content
Snippets Groups Projects
Commit 92825cfb authored by Koffi Gantchou's avatar Koffi Gantchou
Browse files

Replace tp1.py je suis dans la dernière partie du tp et pour des rasions de...

Replace tp1.py je suis dans la dernière partie du tp  et pour des rasions de capacités de mon pc je n'arrive pas a avoir le résultat ex compté 
parent 87bce132
No related branches found
No related tags found
No related merge requests found
......@@ -157,7 +157,114 @@ def sont_anagrammes4(s1:str,s2:str)->bool:
return False
return True
# il y'a 139719 mots dans ce lexique
# non ce lexique ne contient pas de doublons car len(LEXIQUE)==len(set(LEXIQUE))
from lexique import LEXIQUE
def anagrammes(mot: str) -> list[str]:
"""
Renvoie la liste des mots figurant dans le LEXIQUE qui sont des anagrammes de mot.
Précondition: aucune
Exemples:
$$$ anagrammes('orange')
['onagre', 'orange', 'orangé', 'organe', 'rongea']
$$$ anagrammes('info')
['foin']
$$$ anagrammes('Calbuth')
[]
"""
res=[]
for elt in LEXIQUE:
if len(mot) == len(elt) and sont_anagrammes4(elt,mot):
res.append(elt)
return res
#2 liste des anagrammes du mot chien
# ['chien', 'chiné', 'niche', 'niché']
# ANAGRAMMES D'UN MOT:seconde methode
#1 il n'est pas raisonnable de prendre les mots du lexique pour clés car plusieurs clés ne peuvent pas designer la meme valeur
# en effet ces mots du lexiques en representant les clés auront tous la meme valeur qui est le mot dont on cherche ces anagrammes
def cle(chaine:str)->str:
""" à_remplacer_par_ce_que_fait_la_fonction
Précondition :
Exemple(s) :
$$$ cle('Orangé')
'aegnor'
"""
a=bas_casse_sans_accent(chaine)
b=sort(a)
return b
ANAGRAMMES={}
for mot in LEXIQUE:
if not(mot in ANAGRAMMES):
mot_anagrammes = anagrammes(mot)
for elt in mot_anagrammes:
ANAGRAMMES[elt] = mot_anagrammes
def anagrammes2(mot:str)->list[str]:
""" à_remplacer_par_ce_que_fait_la_fonction
Précondition :
Exemple(s) :
$$$
"""
return ANAGRAMMES.get(mot,[mot])
#c'est la methode avec le dictionnaire la plus rapide
i=0
ANAGRAMMES2={}
for mote in LEXIQUE:
i+=1
if not(mote in ANAGRAMMES2):
mot_anagrammes2 = anagrammes(mote)
for elm in mot_anagrammes2:
ANAGRAMMES2[elm] = mot_anagrammes2
if i==30:
break
def anagrammes3(mot:str)->list[str]:
""" à_remplacer_par_ce_que_fait_la_fonction
Précondition :
Exemple(s) :
$$$ anagrammes3('chien')
['chien', 'chiné', 'niche', 'niché']
"""
return ANAGRAMMES2.get(mot,[mot])
def anagrammes_phrase(phrase:str)->list[str]:
""" à_remplacer_par_ce_que_fait_la_fonction
Précondition :
Exemple(s) :
$$$
"""
res=[]
mot=[]
liste=phrase.split(' ')
for elt in liste:
mot.append(anagrammes(elt))
" ".join()
res+=mot
return res
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment