From 7b516365fcb053fcc7e082e34a5fe7cf2591e45f Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Mon, 9 Feb 2015 18:18:14 +0100 Subject: [PATCH] TP2 Maniaquerie sections Anagrammes d'un mot --- S2/TP2/tp2.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/S2/TP2/tp2.py b/S2/TP2/tp2.py index cf0f4a2..00eff3d 100644 --- a/S2/TP2/tp2.py +++ b/S2/TP2/tp2.py @@ -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')