TP4 Ajout d'un test avec mots hors lexique

This commit is contained in:
Geoffrey Frogeye 2015-02-24 14:02:59 +01:00
parent b99a2c3730
commit 4e371d80fb

View file

@ -118,12 +118,24 @@ squestion('b') # Effectuer de nombreuses recherches dans LEXIQUE
# algorithmes utilisés # algorithmes utilisés
# Définition des éléments choisis pour la recherche # Définition des éléments choisis pour la recherche
from random import randint, SystemRandom
from string import ascii_lowercase, ascii_uppercase, digits
def motAleatoire(taille):
return ''.join(SystemRandom().choice(ascii_lowercase + ascii_uppercase + digits) \
for i in range(taille))
def creerListeRecherche(l, dans, hors): def creerListeRecherche(l, dans, hors):
elements = list() elements = list()
taille = len(LEXIQUE) taille = len(LEXIQUE)
for n in range(dans): for n in range(dans):
elements.append(LEXIQUE[randint(0, taille)]) elements.append(LEXIQUE[randint(0, taille)])
for n in range(hors):
while True:
mot = motAleatoire(randint(0, 10))
if mot not in LEXIQUE:
break
elements.append(mot)
return elements return elements
# Méthode de test des fonctions # Méthode de test des fonctions
@ -153,3 +165,9 @@ if __name__ == '__main__':
mesure(seq, LEXIQUE, exclu) mesure(seq, LEXIQUE, exclu)
mesure(seqTrie, LEXIQUE_TRIE, exclu) mesure(seqTrie, LEXIQUE_TRIE, exclu)
mesure(dicho, LEXIQUE_TRIE, exclu) mesure(dicho, LEXIQUE_TRIE, exclu)
print("\nTest avec 500 éléments dont 80% sont dans LEXIQUE")
exclu = creerListeRecherche(LEXIQUE, 400, 100)
mesure(seq, LEXIQUE, exclu)
mesure(seqTrie, LEXIQUE_TRIE, exclu)
mesure(dicho, LEXIQUE_TRIE, exclu)