Séance 6
• Structure de données :
- Dictionnaire (suite)
• Exercice TP
• => Evaluation : séance 9
o Variable & opération
o Test
o Boucle
o Liste
o Tuple
o Dictionnaire
1
Dictionnaire :
caractéristiques
• Structure permettant de stocker plusieurs éléments
• Chaque élément est composé d’une clé et d’une valeur
• Valeur en double autorisée
• Type de données hétérogène : entier, réel, chaine de
caractères, liste ou dictionnaire
• Dictionnaire est mutable (=modifiable)
2
Opérations sur les
dictionnaires
• Création
• Accès aux éléments
• Affichage
• Parcours
• Modification
o Modification de la valeurs d’élément
o Ajout d’élément
o Suppression d’élément
• Suppression du dictionnaire
3
Dictionnaire :
création
o Affectation
inventaire = {} #dictionnaire vide
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs du mal", "La Fontaine": "le corbeau et
le renard", "Rimbaud": "le dormeur du val"}
#dictionnaire avec éléments
monDico = inventaire # dictionnaire créé à partir du précédent
o Ajout d’éléments
inventaire = {}
inventaire["Hugo"] = "les contemplations " #ajout d’une nouvelle clé
o Copie
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs du mal", "La Fontaine": "le
corbeau et le renard", "Rimbaud": "le dormeur du val"}
poemes = [Link]()
beauxPoemes = dict(inventaire)
4
Dictionnaire :
accès aux éléments
• Les éléments ne sont accédés que par leur clé
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs du mal", "La
Fontaine": "le corbeau et le renard", "Rimbaud": "le dormeur du val"}
inventaire ["Rimbaud"]
5
Dictionnaire :
affichage
• L’affichage d’un élément
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les
fleurs du mal", "La Fontaine": "le corbeau et le renard",
"Rimbaud": "le dormeur du val"}
print(inventaire ["Rimbaud"])
6
Dictionnaire :
parcours
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs du mal", "La Fontaine":
"le corbeau et le renard", "Rimbaud": "le dormeur du val"}
• Au niveau des clés
for x in inventaire: for x in [Link]():
print(x) print(x)
• Au niveau des valeurs
for x in inventaire : for x in [Link]() :
print(inventaire[x]) print(x)
• Au niveau des éléments
for x, y in [Link]() :
print(x, y)
7
Dictionnaire :
modification de la valeur d’un élément
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs
du mal", "La Fontaine": "le corbeau et le renard", "Rimbaud": "le
dormeur du val"}
Modification de la valeur
inventaire["Rimbaud"] = "le bateau ivre" #modification de l’élément dont la clé est "Rimbaud "
8
Dictionnaire :
ajout d’un élément
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs
du mal", "La Fontaine": "le corbeau et le renard", "Rimbaud": "le
dormeur du val"}
Ajout
inventaire["Musset"] = "tristesse " #ajout d’une nouvelle clé (= nouvel élément)
9
Dictionnaire :
suppression d’élément
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs du mal", "La
Fontaine": "le corbeau et le renard", "Rimbaud": "le dormeur du val"}
• Suppression d’un élément
[Link]("Hugo") #suppression de l’élément dont la clé est "Hugo"
del (inventaire["Hugo"]) #suppression de l’élément dont la clé est "Hugo"
[Link]() #suppression du dernier élément inséré
• Suppression de tous les éléments
[Link]() #le dictionnaire est vidé de tout élément
10
Dictionnaire :
suppression du dictionnaire
inventaire = {"Hugo" : "les contemplations", "Baudelaire": "les fleurs du mal", "La
Fontaine": "le corbeau et le renard", "Rimbaud": "le dormeur du val"}
• Suppression du dictionnaire
del inventaire #inventaire n’est plus accessible car supprimé
11
Exercice
• ExerciceDictionnaire1
o Créer un dictionnaire de 10 éléments
o Afficher les éléments d’un dictionnaire
• Par accès direct sur les clés
o Modifier un élément dont la clé est saisie : vérification de l’existence de la clé et
modification de la valeur (par saisie aussi)
o Afficher le dictionnaire modifié
o Boucler l’exécution de l’exercice tant que l’utilisateur ne demande pas la sortie
explicitement
Python 12
Exercice
• Exercice Dictionnaire2
o Ecrire un dictionnaire de tous les élèves d’une classe. Chaque élément du dictionnaire
aura comme clé le numéro étudiant (entier) et comme valeur un prénom
o Saisir une lettre majuscule et afficher tous les éléments du dictionnaire qui commence
par cette initiale
o Afficher tous les éléments qui ont la même lettre sur l’indice 3 du prénom
o Afficher tous les éléments qui ont la même lettre en fin de prénom
13
Exercice
Exercice Dictionnaire3
Gestion des étudiants :
Au niveau structure de données nous aurons :
• Les étudiants sont des éléments dans un dictionnaire nommé classe
• Les étudiants qui seront de type liste composée de 3 tuples : le 1er tuple correspond aux
3 notes de français, le 2ième correspond aux 2 notes de mathématiques et le 3ième
correspond aux notes d’anglais
● Ecrire un programme qui :
créé 3 étudiants dans le dictionnaire classe
supprime un étudiant dont le nom est saisi
affiche tous les étudiants
calcule la moyenne de chaque étudiant
14
Exercice
Exercice Dictionnaire3
Gestion des étudiants :
Au niveau structure de données nous aurons :
• Les étudiants sont des éléments dans un dictionnaire nommé classe
• Les étudiants qui seront de type liste composée de 3 tuples : le 1er tuple correspond aux
3 notes de français, le 2ième correspond aux 7 notes de mathématiques et le 3ième
correspond aux notes d’anglais
● Ecrire un sous-programme qui créé un nouvel étudiant dans le dictionnaire classe passé en
paramètre
● Ecrire un sous-programme qui supprime un étudiant de dictionnaire classe passé en
paramètre. Le nom de cet étudiant est aussi passé en paramètre
15
Exercice (suite)
● Ecrire un sous-programme qui affichage tous les étudiants du dictionnaire classe passé en
paramètre. Vous vous aiderez du sous-programme précédent.
● Ecrire un sous-programme qui calcule la moyenne d’un étudiant. La moyenne sera ajoutée à la
liste étudiant si aucune moyenne n’a été calculée sinon rien n’est fait. Le dictionnaire et le nom
de l’étudiant sont passés en paramètre
● Ecrire un sous-programme qui calcule les moyennes de tous les étudiants. Vous vous aiderez du
sous-programme précédent.
● Ecrire un menu qui boucle tant que l’utilisateur ne demande pas la sortie de l’exécution
Ce menu propose :
o Ajout d’un étudiant
o Suppression d’un étudiant par son nom saisi
o Affichage d’un étudiant connu par son nom saisi
o Affichage de l’ensemble des étudiants
o Calcul des moyennes des étudiants avec ajout de la moyenne comme élément de la liste
étudiant 16