Le corrigé du numéro 5 est à la fin de l'article.
Enoncé exo6.
1) Faire un fonction qui calcule la somme des N premiers nombres impairs.
Exemple : print(somme_impair(2)) => donnera : 4
La fonction doit utiliser une boucle et non pas une formule directe.
2)Utilisation d'un cache.
A l'aide d'un dictionnaire , conservez les résultats des calculs.
Avant de lancer la boucle de calcul, la fonction doit aller voir dans son cache.
Avec un notebook Jupyter placer une instruction %%timeit dans une cellule pour mesurer l'écart entre un premier calcul et le second.
Corrigé de l'exercice 5
class Comptage(): def __init__(self, texte): self.dico = {} tab_texte = texte.split(' ') for mot in tab_texte: if mot.find("'") > 0: tab= mot.split("'") mot= tab[1] self.maj_dico(mot) def maj_dico(self, mot): if mot != '' and len(mot) > 1: if mot.lower() in self.dico: self.dico[mot.lower()] += 1 else: self.dico[mot.lower()] = 1 def liste(self): liste_ = [] for cle, valeur in self.dico.items() : liste_.append((cle,valeur )) return liste_
Aucun commentaire:
Enregistrer un commentaire