Section Anagrammes d'un mot:seconde méthode
This commit is contained in:
parent
43624f1f4a
commit
338f2f9ea0
|
@ -342,20 +342,57 @@ def anagrammes(mot):
|
||||||
|
|
||||||
question(2)
|
question(2)
|
||||||
|
|
||||||
|
print('Les anagrammes de Orange sont:', anagrammes('Orange'))
|
||||||
|
print('Les anagrammes de Calbuth sont:', anagrammes('Calbuth'))
|
||||||
|
|
||||||
|
|
||||||
section('Anagrammes d’un mot : seconde méthode')
|
section('Anagrammes d’un mot : seconde méthode')
|
||||||
|
|
||||||
question(1)
|
question(1)
|
||||||
|
|
||||||
|
#Il se peut que certains mots du lexique soient des anagrammes d'autres mots du lexique, or on se retrouverait alors avec plusieurs fois la même liste d'anagrammes pour des clés différentes.
|
||||||
|
|
||||||
question(2)
|
question(2)
|
||||||
|
|
||||||
|
def cle(mot):
|
||||||
|
""" str -> str , renvoie la version triée des lettres de mot, sans accent et en bas de casse.
|
||||||
|
CU: mot est un str
|
||||||
|
"""
|
||||||
|
|
||||||
|
assert(type(mot)==str)
|
||||||
|
|
||||||
|
cpy = list(bas_casse_sans_accent(mot)).sort()
|
||||||
|
|
||||||
|
return str(cpy)
|
||||||
|
|
||||||
|
|
||||||
question(3)
|
question(3)
|
||||||
|
|
||||||
|
ANAGRAMMES = {cle(i):anagrammes(i) for i in LEXIQUE}
|
||||||
|
|
||||||
|
print(len(ANAGRAMMES))
|
||||||
|
|
||||||
question(4)
|
question(4)
|
||||||
|
|
||||||
|
def anagrammes2(mot):
|
||||||
|
""" str -> list de str, utilise le dictionnaire ANAGRAMMES pour trouver la liste des anagrammes de mot
|
||||||
|
CU: mot est un str
|
||||||
|
"""
|
||||||
|
|
||||||
|
k = cle(mot)
|
||||||
|
|
||||||
|
if k in ANAGRAMMES:
|
||||||
|
return ANAGRAMMES[k]
|
||||||
|
else:
|
||||||
|
return []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
question(5)
|
question(5)
|
||||||
|
|
||||||
|
print('Les anagrammes de Orange sont:', anagrammes2('Orange'))
|
||||||
|
print('Les anagrammes de Calbuth sont:', anagrammes2('Calbuth'))
|
||||||
|
|
||||||
|
|
||||||
section('Comparaison des deux méthodes')
|
section('Comparaison des deux méthodes')
|
||||||
|
|
||||||
|
|
Reference in a new issue