diff --git a/S2/TP2/.gitignore b/S2/TP2/.gitignore index 972d5e6..4d68079 100644 --- a/S2/TP2/.gitignore +++ b/S2/TP2/.gitignore @@ -1 +1,2 @@ -lexique* \ No newline at end of file +lexique* +anagrammes.txt \ No newline at end of file diff --git a/S2/TP2/tp2.py b/S2/TP2/tp2.py index b7c3a76..14ba39c 100644 --- a/S2/TP2/tp2.py +++ b/S2/TP2/tp2.py @@ -408,65 +408,91 @@ section('Comparaison des deux méthodes') question(1) -import time +# import time -debut = time.time() +# debut = time.time() -for i in range(30): - anagrammes(LEXIQUE[i]) +# for i in range(30): +# anagrammes(LEXIQUE[i]) -temps1 = time.time() - debut +# temps1 = time.time() - debut -debut = time.time() +# debut = time.time() -for i in range(30): - anagrammes2(LEXIQUE[i]) +# for i in range(30): +# anagrammes2(LEXIQUE[i]) -temps2 = time.time() - debut +# temps2 = time.time() - debut -print('La première méthode à mis %s secondes, et la deuxième %s secondes' %(temps1,temps2)) +# print('La première méthode à mis %s secondes, et la deuxième %s secondes' %(temps1,temps2)) -partie('Phrases d\'anagrammes') # Geoffrey +# partie('Phrases d\'anagrammes') # Geoffrey + +# question(1) + + +# def arbre_vers_liste(arbre): +# # [[1, [3, [4]]], [2, [3, [4]]]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]] +# print(arbre) +# possibilites = [] +# # for i in arbre: + + + +# return possibilites + +# def annagrammes_arbre(liste): +# # TODO Docstring +# anagrammesPremier = anagrammes(liste[0]) +# if len(liste) > 1: # Si il y a des anagrammes après +# res = [] +# for i in anagrammesPremier: +# res.append([i, annagrammes_arbre(liste[1:])]) +# return res +# else: +# return anagrammesPremier + +# def developpement(mots): +# # [[1, 2], [3, 4]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]] +# # TODO Docstring +# for annagrammes in mots: +# for annagramme in annagrammes: +# return False + + +# def annagrammes_phrase(phrase): +# # TODO Docstring +# mots = phrase.split() +# anagrammesArbre = annagrammes_arbre(mots) +# annagrammesMots = [anagrammes(i) for i in mots] +# return arbre_vers_liste(anagrammesArbre) + +# print(annagrammes_phrase('orange orange orange')) # DEBUG + +partie('Sauvegarde et récupération') + +ANAGRAMMES_FICHIER = 'anagrammes.txt' question(1) +def sauver_dico(): + f = open(ANAGRAMMES_FICHIER, 'w') + for i in ANAGRAMMES: + f.write(i + ':' + ':'.join(ANAGRAMMES[i]) + '\n') + f.close() + +question(2) +sauver_dico() +from os.path import getsize +taille = getsize(ANAGRAMMES_FICHIER) +print('Le dictionnaire fait %d octets, soit %0.3f Mio.' % (taille, taille/1024/1024)) -def arbre_vers_liste(arbre): - # [[1, [3, [4]]], [2, [3, [4]]]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]] - print(arbre) - possibilites = [] - # for i in arbre: - - - - return possibilites - -def annagrammes_arbre(liste): - # TODO Docstring - anagrammesPremier = anagrammes(liste[0]) - if len(liste) > 1: # Si il y a des anagrammes après - res = [] - for i in anagrammesPremier: - res.append([i, annagrammes_arbre(liste[1:])]) - return res - else: - return anagrammesPremier - -def developpement(mots): - # [[1, 2], [3, 4]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]] - # TODO Docstring - for annagrammes in mots: - for annagramme in annagrammes: - return False - - -def annagrammes_phrase(phrase): - # TODO Docstring - mots = phrase.split() - anagrammesArbre = annagrammes_arbre(mots) - annagrammesMots = [anagrammes(i) for i in mots] - return arbre_vers_liste(anagrammesArbre) - -print(annagrammes_phrase('orange orange orange')) # DEBUG - +question(3) +def charger_dico(): + ANAGRAMMES = dict() + f = open(ANAGRAMMES_FICHIER, 'r') + for l in f: + decoupe = ':'.split(str(f)) + ANAGRAMMES[decoupe[0]] = decoupe[1:] + f.close()