Construction du dictionnaire

J'ai réussi à construire ce fichu dictionnaire, c'était tout con en
fait.
This commit is contained in:
Jean-Loup Beaussart (jamesmagnus) 2015-02-08 20:35:45 +01:00
parent 20ff4a469b
commit e5b6fe55c7

View file

@ -1,6 +1,6 @@
# PREUD'HOMME Geoffrey # PREUD'HOMME Geoffrey
# BEAUSSART Jean-loup # BEAUSSART Jean-loup
# Donné le 27/01/201question(5) # Donné le 27/01/2015
# TP2 Anagrammes - Dictionnaires # TP2 Anagrammes - Dictionnaires
@ -51,7 +51,7 @@ question(2)
# TODO Reformuler # TODO Reformuler
print( print(
'La méthode `split` appliquée à une chaîne de caractères renvoie une liste de châines de caractères correspondant à la chaîne de caractère originale découpée aux endroits où se trouvent la chaîne de caractère passée en paramètre (ou si absente, la chaîne de caractère contenant le caractère espacement seul), exemptée de cette dernière.') 'La méthode `split` appliquée à une chaîne de caractères renvoie une liste de chnes de caractères correspondant à la chaîne de caractère originale découpée aux endroits où se trouvent la chaîne de caractère passée en paramètre (ou si absente, la chaîne de caractères contenant le caractère espacement seul), exemptée de cette dernière.')
question(3) question(3)
@ -65,7 +65,7 @@ question(3)
##'la m\xc3\xa9thode split est parfois bien utile' ##'la m\xc3\xa9thode split est parfois bien utile'
print( print(
'De par cet exemple, on remarque que s reste la même chaîne de caractère, `split` ne modifie donc pas la chaîne de caractère à laquelle elle s\'applique (ce qui est logique vu le caractère non-mutable des chaînes de caractère') 'De par cet exemple, on remarque que s reste la même chaîne de caractère, `split` ne modifie donc pas la chaîne de caractères à laquelle elle s\'applique (ce qui est logique vu le caractère non-mutable des chaînes de caractères')
section('Méthode join') section('Méthode join')
@ -123,7 +123,7 @@ question(3)
# '!' # '!'
print( print(
'De par cet exemple, on remarque que chaine reste la même chaîne de caractère, `join` ne modifie donc pas la chaîne de caractère à laquelle elle s\'applique (ce qui est logique vu le caractère non-mutable des chaînes de caractère') 'De par cet exemple, on remarque que chaine reste la même chaîne de caractères, `join` ne modifie donc pas la chaîne de caractères à laquelle elle s\'applique (ce qui est logique vu le caractère non-mutable des chaînes de caractères')
question(4) question(4)
@ -263,8 +263,7 @@ section('Casse et accentuation')
question(1) question(1)
EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à': 'a', 'ç': 'c', 'ï': EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à ': 'a', 'ç': 'c', 'î':'i', 'ï': 'i', 'ô': 'o', 'ê': 'e', 'ë': 'e', 'â': 'a', 'û': 'u'}
'i', 'î': 'i', 'ô': 'o', 'ë': 'e', 'ê': 'e', 'â': 'a', 'û': 'u'}
question(2) question(2)
@ -332,7 +331,7 @@ else:
print('Il n \' y a pas de doublons') print('Il n \' y a pas de doublons')
section('Anagrammes dun mot : première méthode') section('Anagrammes d\'un mot : première méthode')
question(1) question(1)
@ -358,7 +357,7 @@ print('Les anagrammes de Orange sont:', anagrammes('Orange'))
print('Les anagrammes de Calbuth sont:', anagrammes('Calbuth')) print('Les anagrammes de Calbuth sont:', anagrammes('Calbuth'))
section('Anagrammes dun mot : seconde méthode') section('Anagrammes d\'un mot : seconde méthode')
question(1) question(1)
@ -376,19 +375,21 @@ def cle(mot):
assert(type(mot) == str) assert(type(mot) == str)
cpy = sort(bas_casse_sans_accent(mot)) cpy = bas_casse_sans_accent(mot)
return cpy return sort(cpy)
question(3) question(3)
ANAGRAMMES = dict() ANAGRAMMES = dict()
l=list()
for i in LEXIQUE: for i in LEXIQUE:
k = cle(i) k = cle(i)
if not k in ANAGRAMMES:
ANAGRAMMES[k]=[i]
else:
ANAGRAMMES[k]= ANAGRAMMES[k] + [i]
print(len(ANAGRAMMES)) print(len(ANAGRAMMES))
@ -419,12 +420,24 @@ section('Comparaison des deux méthodes')
question(1) question(1)
for i in range(30): import time
print(len(anagrammes(i)))
debut = time.time()
for i in range(30): for i in range(30):
print(len(anagrammes2(i))) anagrammes(LEXIQUE[i])
temps1 = time.time() - debut
debut = time.time()
for i in range(30):
anagrammes2(LEXIQUE[i])
temps2 = time.time() - debut
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
@ -432,7 +445,7 @@ question(1)
def arbre_vers_liste(arbre): def arbre_vers_liste(arbre):
# [[1, [3, [4]]], [2, [3, [4]]]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]] # [[1, [3, [4]]], [2, [3, [4]]]] ⇒‡’ [[1, 3], [1, 4], [2, 3], [2, 4]]
print(arbre) print(arbre)
possibilites = [] possibilites = []
# for i in arbre: # for i in arbre:
@ -453,7 +466,7 @@ def annagrammes_arbre(liste):
return anagrammesPremier return anagrammesPremier
def developpement(mots): def developpement(mots):
# [[1, 2], [3, 4]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]] # [[1, 2], [3, 4]] ⇒‡’ [[1, 3], [1, 4], [2, 3], [2, 4]]
# TODO Docstring # TODO Docstring
for annagrammes in mots: for annagrammes in mots:
for annagramme in annagrammes: for annagramme in annagrammes: