2019-2020/Formations/NSI/Bloc1/diubloc1-files-td3/diu-dico-english.py

62 lines
1.4 KiB
Python
Raw Permalink Normal View History

2020-05-05 07:53:14 +00:00
#! /usr/bin/env python3
"""
python3 diu-dico-english.py
"""
__author__ = "Laure Gonnord"
__copyright__ = "Univ Lyon1, 2019"
import time
# Comparaison rapide liste/dictionnaires.
# Nécessite le fichier dico.en2fr récupéré de http://www.june29.com/IDP/files/French.txt (on a enlevé les lignes du début)
# Liste
def update_list(mot, trad, mylist):
mylist.append((mot, trad))
def load_list(nomFichier, dico):
"""
charge les mots du fichier dans la liste
"""
with open(nomFichier) as fichier:
for ligne in fichier:
(mot, trad) = ligne.strip().split("\t")
# print(mot, trad)
update_list(mot, trad, dico)
def search_tuple(tups, elem):
for (mot, trad) in tups:
if (mot == elem):
return trad
raise Exception("search tuple: not found")
# Dictionnaire
# TODO : update, load.
################## Programme principal ######################
fichier = 'dico.en2fr'
NBTRIES = 10000
# initialisation et chargement de la liste
mylist = []
startTime = time.time()
load_list(fichier, mylist)
endTime = time.time()
print("La liste est chargée en (s)", (endTime - startTime))
print("la traduction de dog est ", search_tuple(mylist, "dog"))
startTime = time.time()
for i in range(NBTRIES):
search_tuple(mylist, "house")
endTime = time.time()
print("mes recherches ont coûté ", (endTime - startTime))
# TODO : faire la même chose avec un dictionnaire