TP2 Maniaquerie sections Anagrammes d'un mot

This commit is contained in:
Geoffrey Frogeye 2015-02-09 18:18:14 +01:00
parent df6bd11358
commit 7b516365fc

View file

@ -305,6 +305,8 @@ partie('Recherche d\'anagrammes') # Jean-loup
section('Le lexique') section('Le lexique')
# TODO Question 1 ?
question(2) question(2)
from lexique import * from lexique import *
@ -345,19 +347,21 @@ 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 print('Il se peut que certains mots du lexique soient des anagrammes d\'autres mots du lexique,\
# mots du lexique, or on se retrouverait alors avec plusieurs fois la même or on se retrouverait alors avec plusieurs fois la même liste d\'anagrammes \
# liste d'anagrammes pour des clés différentes. pour des clés différentes.')
question(2) question(2)
def cle(mot): 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) cpy = bas_casse_sans_accent(mot)
@ -376,15 +380,19 @@ for i in LEXIQUE:
ANAGRAMMES[k] = ANAGRAMMES[k] + [i] ANAGRAMMES[k] = ANAGRAMMES[k] + [i]
print(len(ANAGRAMMES)) print('Le dictionnaire des anagrammes contient %d entrées' % len(ANAGRAMMES))
question(4) question(4)
def anagrammes2(mot): 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) k = cle(mot)
@ -396,8 +404,8 @@ def anagrammes2(mot):
question(5) question(5)
print('Les anagrammes de Orange sont:', anagrammes2('Orange')) for a in ['Orange', 'Calbuth']:
print('Les anagrammes de Calbuth sont:', anagrammes2('Calbuth')) print('Les anagrammes de %s sont %s.' % (a, ', '.join(anagrammes2(a))))
section('Comparaison des deux méthodes') section('Comparaison des deux méthodes')