Python – Les dictionnaires – Exercices

Pour chaque exercice il vous sera demandé d’écrire des lignes de code qui permettent de les résoudre.

Toutes les résolutions d’exercices contenus dans cette page devront se situer sur le même fichier Python (.py).

Vous commenterez chaque partie de code par le numéro de l’exercice correspondant.

Créer un dictionnaire personne avec les informations suivantes : nom, âge, ville, et profession.

Afficher ensuite chaque clé et sa valeur sous la forme Clé : Valeur.


Écrire une fonction verifier_cle(dictionnaire, cle) qui prend en paramètre un dictionnaire et une clé, et qui retourne True si la clé est présente dans le dictionnaire, sinon False.


Ajouter une nouvelle clé téléphone au dictionnaire personne (de l’exercice 1) et lui donner une valeur.

Afficher ensuite le dictionnaire mis à jour.


Écrire une fonction afficher_valeurs(dictionnaire) qui prend un dictionnaire en paramètre et affiche toutes les valeurs du dictionnaire.


Dans le dictionnaire personne de l’exercice 1, supprimer la clé profession.

Afficher ensuite le dictionnaire pour vérifier que la suppression a bien été effectuée.


Écrire une fonction fusionner_dictionnaires(dico1, dico2) qui prend deux dictionnaires en paramètres et retourne un nouveau dictionnaire contenant toutes les paires clé-valeur des deux dictionnaires.


Créer un dictionnaire notes contenant les notes d’élèves, par exemple : {"Alice": 15, "Bob": 12, "Charlie": 14}.

Écrire une fonction ajouter_note(nom, note) pour mettre à jour la note d’un élève dans le dictionnaire ou l’ajouter si l’élève n’existe pas.


Écrire une fonction filtrer_notes(dictionnaire, seuil) qui prend un dictionnaire de notes et un seuil en paramètre, et retourne un nouveau dictionnaire contenant seulement les élèves ayant une note supérieure ou égale au seuil.

Exemple d’utilisation de la fonction :

# Dictionnaire de notes
notes = {
    "Alice": 15,
    "Bob": 10,
    "Charlie": 18,
    "David": 12,
    "Eve": 9
}

# Appeler la fonction avec un seuil de 12
resultat = filtrer_notes(notes, 12)
print(resultat)  # Affiche : {'Alice': 15, 'Charlie': 18, 'David': 12}

Créer un dictionnaire classe où chaque clé est le nom d’un élève, et chaque valeur est un sous-dictionnaire contenant âge et une liste notes.

Écrire une fonction moyenne_notes(nom) qui calcule et retourne la moyenne des notes pour un élève donné dans classe.

Exemple d’utilisation de la fonction :

# Dictionnaire des élèves avec leurs âges et leurs notes
classe = {
    "Alice": {"âge": 16, "notes": [12, 15, 18]},
    "Bob": {"âge": 17, "notes": [10, 14, 11]},
    "Charlie": {"âge": 16, "notes": [13, 17, 16]}
}

# Calculer la moyenne des notes de Charlie
moyenne = moyenne_notes("Charlie")
print(moyenne)  # Affiche : 15.33

Écrire une fonction analyser_mots(texte) qui prend un texte en paramètre et retourne un dictionnaire où chaque mot est une clé, et la valeur est le nombre d’occurrences de ce mot dans le texte.

Exemple d’utilisation de la fonction :

# Chaîne de caractères à analyser
texte = "ceci est un texte avec un texte répété plusieurs fois un texte"

# Analyse des mots
frequences = analyser_mots(texte)
print(frequences)  # Affiche : {'ceci': 1, 'est': 1, 'un': 3, 'texte': 3, 'avec': 1, 'répété': 1, 'plusieurs': 1, 'fois': 1}

Écrire une fonction comparer_dictionnaires(dico1, dico2) qui prend deux dictionnaires en paramètres et retourne un dictionnaire indiquant les différences :

  • Les clés présentes dans dico1 mais pas dans dico2
  • Les clés présentes dans dico2 mais pas dans dico1
  • Les clés présentes dans les deux dictionnaires.

Exemple d’utilisation de la fonction :

# Dictionnaire 1
dico1 = {
    "nom": "Alice",
    "âge": 25,
    "ville": "Paris"
}

# Dictionnaire 2
dico2 = {
    "nom": "Alice",
    "âge": 30,
    "pays": "France"
}

# Comparaison des dictionnaires
differences = comparer_dictionnaires(dico1, dico2)
print(differences)  
# Affiche :
# {
#     'dans_dico1': ['ville'],
#     'dans_dico2': ['pays'],
#     'valeurs_differentes': {'âge': (25, 30)}
# }