Adloun

informatique (tronc commun des prépas scientifiques) · Chapitre 4 · Exercice de TD

Le fichier qui ment

Modules, fichiers et données · niveau 2

Énoncé

Un fichier contient parfois la mention NA pour signaler une valeur manquante. Adapter la lecture pour ignorer ces lignes tout en les comptant. Renvoyer le couple (liste des données valides, nombre de lignes ignorées).

Corrigé

def lire_releves_robuste(nom_fichier: str) -> tuple:
    releves = []
    ignorees = 0
    with open(nom_fichier, "r") as f:
        for ligne in f:
            ligne = ligne.strip()
            if ligne == "":
                continue
            champs = ligne.split(";")
            if len(champs) != 2 or champs[1] == "NA":
                ignorees += 1
                continue
            releves.append((champs[0], float(champs[1])))
    return (releves, ignorees)

Compter les rejets permet de valider la représentativité des données restantes (si le taux de rejet est trop élevé, les statistiques calculées perdront leur sens).

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre