Module : Programmation avancée en Python
Faculté de Technologie – Université Badji Mokhtar Annaba
TP2 – Listes, Dictionnaires, Tuples et
Modules en Python
Objectifs pédagogiques
À la fin de ce TP, l’étudiant sera capable de :
• Créer et manipuler des listes, tuples et dictionnaires ;
• Utiliser des fonctions et les regrouper dans des modules personnalisés ;
• Concevoir un programme complet et structuré combinant ces notions.
Partie 1 : Exercices préparatoires
Exercice 1 – Manipulation de listes
Créer une liste contenant les notes : [12, 15, 9, 17, 14]
Afficher :
1. La liste complète ;
2. La note maximale ;
3. La moyenne ;
4. La liste triée.
Indication : utilisez sum(), len(), max(), et la méthode sort().
________________________________________________________________________
notes = [12, 15, 9, 17, 14]
print("Moyenne :", sum(notes)/len(notes))
print("Max :", max(notes))
[Link]()
print("Triées :", notes)
__________________________________________________________________
Exercice 2 – Tuples
Définir un tuple représentant un étudiant :
etudiant = ("Sara", 21, "Informatique")
Afficher son prénom, puis créer une liste de trois tuples et afficher :
Nom – Âge – Spécialité
1
Dr Wafa Bougheloum – Faculté de Technologie – Université Badji Mokhtar Annaba
Module : Programmation avancée en Python
Faculté de Technologie – Université Badji Mokhtar Annaba
___________________________________________________________________________
etudiants =
[("Sara",21,"Info"),("Amine",22,"Électronique"),("Nour",20,"Maths")]
for n,a,s in etudiants:
print(f"{n} – {a} – {s}")
___________________________________________________________________________
Exercice 3 – Dictionnaires
Créer un dictionnaire :
etudiants = {'Sara': 15, 'Amine': 9, 'Nour': 13}
Afficher toutes les paires nom : note, la moyenne de la classe et la liste des admis (note ≥ 10).
___________________________________________________________________________
etudiants={'Sara':15,'Amine':9,'Nour':13}
print("Moyenne :",sum([Link]())/len(etudiants))
for n,nt in [Link]():
if nt>=10: print("Admis :",n)
___________________________________________________________________________
Exercice 4 – Combinaison de structures
Créer une liste de dictionnaires :
classe = [
{'nom': 'Sara', 'age': 21, 'note': 15},
{'nom': 'Amine', 'age': 22, 'note': 9},
{'nom': 'Nour', 'age': 20, 'note': 13}
]
Afficher :
1. Les étudiants âgés de plus de 20 ans ;
2. La moyenne des notes de la classe.
_______________________________________________________________________
_________________________________________________________________
2
Dr Wafa Bougheloum – Faculté de Technologie – Université Badji Mokhtar Annaba
Module : Programmation avancée en Python
Faculté de Technologie – Université Badji Mokhtar Annaba
Exercice 5 – Modules
Créer un fichier mes_fonctions.py contenant :
• Moyenne(liste) → retourne la moyenne ;
• Admis(liste) → retourne les notes ≥ 10.
Dans un autre fichier, importez ce module et testez-le sur [12, 7, 15, 10, 18].
__________________________________________________________________
# mes_fonctions.py
def moyenne(l): return sum(l)/len(l)
def admis(l): return [n for n in l if n>=10]
# principal
import mes_fonctions
notes=[12,7,15,10,18]
print(mes_fonctions.moyenne(notes))
print(mes_fonctions.admis(notes))
_____________________________________________
Travail attendu
Chaque étudiant doit :
1. Exécuter les cinq exercices sur son environnement Python ;
2. Commenter le code pour expliquer la logique ;
3. Sauvegarder ses scripts dans un dossier TP2_NomPrenom.
Partie 2 : Exercice de synthèse – Projet de gestion des
étudiants
Sujet
Concevoir un mini-système de gestion d’étudiants capable de :
1. Enregistrer les informations (nom, âge, note) ;
2. Afficher la liste des étudiants ;
3. Calculer la moyenne générale ;
4. Identifier le meilleur étudiant.
Le projet doit être composé de deux fichiers :
• [Link] → contient les fonctions utilitaires ;
• gestion_etudiants.py → contient le programme principal et le menu.
3
Dr Wafa Bougheloum – Faculté de Technologie – Université Badji Mokhtar Annaba
Module : Programmation avancée en Python
Faculté de Technologie – Université Badji Mokhtar Annaba
Contraintes
• Utiliser au moins une liste, un tuple et un dictionnaire ;
• Valider les entrées (âge > 0, 0 ≤ note ≤ 20) ;
• Créer un menu textuel :
• === GESTION DES ÉTUDIANTS ===
• 1. Ajouter un étudiant
• 2. Afficher les étudiants
• 3. Calculer la moyenne
• 4. Afficher le meilleur étudiant
• 5. Quitter
• Le programme doit être structuré en fonctions.
Conseils pédagogiques
• Réfléchir à la meilleure structure pour stocker les étudiants (liste de dictionnaires).
• Préparer les fonctions dans le module [Link] avant d’écrire le menu principal.
• Tester chaque fonction isolément avant d’intégrer l’ensemble.
4
Dr Wafa Bougheloum – Faculté de Technologie – Université Badji Mokhtar Annaba