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
# Donné le 27/01/201question(5)
# Donné le 27/01/2015
# TP2 Anagrammes - Dictionnaires
@ -51,7 +51,7 @@ question(2)
# TODO Reformuler
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)
@ -65,7 +65,7 @@ question(3)
##'la m\xc3\xa9thode split est parfois bien utile'
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')
@ -123,7 +123,7 @@ question(3)
# '!'
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)
@ -263,8 +263,7 @@ section('Casse et accentuation')
question(1)
EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à': 'a', 'ç': 'c', 'ï':
'i', 'î': 'i', 'ô': 'o', 'ë': 'e', 'ê': 'e', 'â': 'a', 'û': 'u'}
EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à ': 'a', 'ç': 'c', 'î':'i', 'ï': 'i', 'ô': 'o', 'ê': 'e', 'ë': 'e', 'â': 'a', 'û': 'u'}
question(2)
@ -332,7 +331,7 @@ else:
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)
@ -358,7 +357,7 @@ print('Les anagrammes de Orange sont:', anagrammes('Orange'))
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)
@ -376,19 +375,21 @@ def cle(mot):
assert(type(mot) == str)
cpy = sort(bas_casse_sans_accent(mot))
cpy = bas_casse_sans_accent(mot)
return cpy
return sort(cpy)
question(3)
ANAGRAMMES = dict()
l=list()
for i in LEXIQUE:
k = cle(i)
if not k in ANAGRAMMES:
ANAGRAMMES[k]=[i]
else:
ANAGRAMMES[k]= ANAGRAMMES[k] + [i]
print(len(ANAGRAMMES))
@ -419,12 +420,24 @@ section('Comparaison des deux méthodes')
question(1)
for i in range(30):
print(len(anagrammes(i)))
import time
debut = time.time()
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
@ -432,7 +445,7 @@ question(1)
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)
possibilites = []
# for i in arbre:
@ -453,7 +466,7 @@ def annagrammes_arbre(liste):
return anagrammesPremier
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
for annagrammes in mots:
for annagramme in annagrammes: