TP2 Maniaquerie sections Anagrammes d'un mot
This commit is contained in:
parent
df6bd11358
commit
7b516365fc
|
@ -305,6 +305,8 @@ partie('Recherche d\'anagrammes') # Jean-loup
|
|||
|
||||
section('Le lexique')
|
||||
|
||||
# TODO Question 1 ?
|
||||
|
||||
question(2)
|
||||
|
||||
from lexique import *
|
||||
|
@ -345,19 +347,21 @@ section('Anagrammes d\'un mot : seconde méthode')
|
|||
|
||||
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.
|
||||
print('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)
|
||||
|
||||
|
||||
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
|
||||
"""
|
||||
Renvoie la version triée des lettres en minuscule et sans accents de mot
|
||||
str → str
|
||||
CU : mot est un str
|
||||
"""
|
||||
|
||||
assert(type(mot) == str)
|
||||
assert(type(mot) == str), 'mot doit être un str'
|
||||
|
||||
cpy = bas_casse_sans_accent(mot)
|
||||
|
||||
|
@ -376,15 +380,19 @@ for i in LEXIQUE:
|
|||
ANAGRAMMES[k] = ANAGRAMMES[k] + [i]
|
||||
|
||||
|
||||
print(len(ANAGRAMMES))
|
||||
print('Le dictionnaire des anagrammes contient %d entrées' % len(ANAGRAMMES))
|
||||
|
||||
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
|
||||
"""
|
||||
Recherche les anagrammes de mot
|
||||
str → [str *]
|
||||
CU : mot est un str
|
||||
"""
|
||||
|
||||
assert(type(mot) == str), 'mot doit être un str'
|
||||
|
||||
k = cle(mot)
|
||||
|
||||
|
@ -396,8 +404,8 @@ def anagrammes2(mot):
|
|||
|
||||
question(5)
|
||||
|
||||
print('Les anagrammes de Orange sont:', anagrammes2('Orange'))
|
||||
print('Les anagrammes de Calbuth sont:', anagrammes2('Calbuth'))
|
||||
for a in ['Orange', 'Calbuth']:
|
||||
print('Les anagrammes de %s sont %s.' % (a, ', '.join(anagrammes2(a))))
|
||||
|
||||
|
||||
section('Comparaison des deux méthodes')
|
||||
|
|
Reference in a new issue