Classe TIC 2 Enseignant : Naji Guedri
Travaux Pratiques 1 (b)
Objectif du TP :
Concevoir et implémenter un système de gestion d'étudiants en utilisant la POO en Python.
Description :
Vous devez créer trois classes principales : Étudiant, Cours, et École. Voici comment vous
pouvez commencer :
- Classe Étudiant : La classe Étudiant devrait avoir des attributs tels que le nom, l'âge,
l'identifiant d'étudiant, etc. Elle devrait également avoir des méthodes pour afficher les
informations de l'étudiant.
- Classe Cours : La classe Cours devrait représenter un cours avec des attributs tels que
le nom du cours, le professeur, la liste des étudiants inscrits, etc. Elle devrait avoir des
méthodes pour ajouter des étudiants au cours, afficher la liste des étudiants inscrits, etc.
- Classe École : La classe École devrait avoir une liste de cours, un nom, etc. Elle devrait
avoir des méthodes pour ajouter un cours, afficher la liste des cours, etc.
Étapes suggérées :
1) Créez la classe Étudiant avec les attributs et les méthodes nécessaires.
2) Créez la classe Cours avec des méthodes pour gérer les étudiants inscrits.
3) Créez la classe École avec des méthodes pour gérer les cours.
Écrivez un programme principal qui permet à l'utilisateur d'interagir avec l'école en ajoutant
des cours, des étudiants et en affichant des informations.
1
Classe TIC 2 Enseignant : Naji Guedri
Exemple de code initial :
class Étudiant:
def __init__(self, nom, age, id_etudiant):
[Link] = nom
[Link] = age
self.id_etudiant = id_etudiant
def afficher_informations(self):
print(f"Nom : {[Link]}, Âge : {[Link]}, ID Étudiant : {self.id_etudiant}")
class Cours:
def __init__(self, nom_cours, professeur):
self.nom_cours = nom_cours
[Link] = professeur
self.etudiants_inscrits = []
def ajouter_etudiant(self, etudiant):
self.etudiants_inscrits.append(etudiant)
def afficher_etudiants(self):
for etudiant in self.etudiants_inscrits:
etudiant.afficher_informations()
class École:
def __init__(self, nom_ecole):
self.nom_ecole = nom_ecole
[Link] = []
def ajouter_cours(self, cours):
[Link](cours)
def afficher_cours(self):
for cours in [Link]:
print(f"Nom du Cours : {cours.nom_cours}, Professeur : {[Link]}")
# Exemple d'utilisation
ecole = École("École XYZ")
cours1 = Cours("Mathématiques", "M. Dupont")
cours2 = Cours("Histoire", "Mme. Martin")
etudiant1 = Étudiant("Alice", 18, "E12345")
etudiant2 = Étudiant("Bob", 19, "E23456")
cours1.ajouter_etudiant(etudiant1)
cours2.ajouter_etudiant(etudiant2)
ecole.ajouter_cours(cours1)
ecole.ajouter_cours(cours2)
ecole.afficher_cours()
cours1.afficher_etudiants()