informatique (tronc commun des prépas scientifiques) · Chapitre 4 · Exercice de TD
Construire l'histogramme soi-même
Modules, fichiers et données · niveau 2
Énoncé
Écrire une fonction histogramme(t, a, b, k) qui répartit les valeurs de t en classes d'égale largeur couvrant et renvoie la liste des effectifs correspondants, en temps .
Corrigé
On calcule directement la classe d'appartenance d'un élément par une division plutôt qu'en testant successivement les intervalles, ce qui évite un coût en :
def histogramme(t: list, a: float, b: float, k: int) -> list:
"""Précondition : a < b, k >= 1."""
effectifs = [0] * k
largeur = (b - a) / k
for x in t:
if a <= x < b:
i = int((x - a) // largeur)
if i == k: # Sécurité contre les arrondis limites
i = k - 1
effectifs[i] += 1
return effectifsExercices semblables
- Le fichier qui ment corrigé
- La variance en un seul passage corrigé
- Moyennes par catégorie corrigé
- La méthode de Monte-Carlo corrigé
- Lire un fichier à colonnes variables corrigé