Aller au contenu

Exercice : Traitement de données CSV avec un dictionnaire

Exercice n°1 : Sélection suivant un critère et sans doublon

Écrire une fonction qui renvoie la liste des noms de personnes dont le nom commence par une lettre (cette lettre est un paramètre de la fonction).

La liste ne contiendra pas de doublon (par exemple, avec la lettre T, on n'aura pas deux "Térieur" dans la liste).

def commencePar(lettre):
    """
    lettre -- lettre majuscule

    renvoie la liste des noms de personnes  
    dont l'initiale du nom est lettre.
    """
Indice

not in peut être une astuce de programmation...

Exercice n°2 : Vérifier l'unicité

Écrire un code possible pour le corps de la fonction suivante :

def AllDiff(champ):
    """
    champ -- l'une des clefs du dictionnaire  lignes

    renvoie True si toutes les données-lignes 
    ont des valeurs de champ distinctes
    et renvoie False sinon.
    >>> AllDiff('nom') # il existe au moins deux noms identiques
    False
    >>> AllDiff('id_personne') # tous les id sont distincts
    True
    """
Indice

On construit une liste dans laquelle on ajoute au fur et à mesure de la lecture les nouvelles valeurs. Si la nouvelle valeur lue est déjà présente dans la liste, on renvoie "faux".

Exercice n°3 : Sélection multi-critères, sans doublon

Écrire un code possible pour le corps de la fonction suivante :

def finEnEtNeApres(lettre, annee):
    """
    lettre -- une lettre en minuscule
    annee -- une année

    renvoie la liste, sans doublon, des noms de personnes
    dont le prénom se termine par lettre et qui sont nés après annee.
    >>> finEnEtNeApres('e', 1980)
    ['Gemlamorte', 'Verserre', 'Boréal', 'Dejeu', 'Hiple']
    """
Indice

On se rappellera comment on fait pour obtenir la dernière lettre d'une chaîne de caractère, sans connaître sa longueur...