⭐ 1) Les Enregistrements (Structures)
On représente un enregistrement par un dictionnaire Python.
Exercice 1 : Enregistrement Étudiant
Créer un étudiant contenant : nom, prénom, moyenne.
Afficher si l’étudiant est admis ou non.
✅ Correction Python
etudiant = {
"nom": input("Nom : "),
"prenom": input("Prénom : "),
"moyenne": float(input("Moyenne : "))
if etudiant["moyenne"] >= 10:
print("Admis")
else:
print("Refusé")
print(f'{etudiant["nom"]} {etudiant["prenom"]} : {etudiant["moyenne"]}')
Exercice 2 : Liste d’étudiants
Créer N étudiants et trouver la meilleure moyenne.
✅ Correction Python
N = int(input("Nombre d'étudiants : "))
classe = []
for i in range(N):
nom = input("Nom : ")
prenom = input("Prénom : ")
moyenne = float(input("Moyenne : "))
[Link]({"nom": nom, "prenom": prenom, "moyenne": moyenne})
# Afficher la meilleure moyenne
best = max(classe, key=lambda x: x["moyenne"])
print("Meilleur étudiant :")
print(best["nom"], best["prenom"], best["moyenne"])
⭐ 2) Fichiers Texte (TXT)
Lecture et écriture ligne par ligne.
Exercice 3 : Fichier texte des étudiants
Créer un fichier [Link] contenant :
nom;prenom;moyenne
Lire le fichier et afficher seulement les admis.
✅ Correction Python
1. Écrire dans le fichier
f = open("[Link]", "w", encoding="utf-8")
N = int(input("Nombre d'étudiants : "))
for i in range(N):
nom = input("Nom : ")
prenom = input("Prénom : ")
moyenne = float(input("Moyenne : "))
[Link](f"{nom};{prenom};{moyenne}\n")
[Link]()
2. Lire et afficher les admis
f = open("[Link]", "r", encoding="utf-8")
for ligne in f:
nom, prenom, moy = [Link]().split(";")
moy = float(moy)
if moy >= 10:
print(nom, prenom, moy)
[Link]()
⭐ 3) Fichiers Binaires (Pickle)
On utilise pickle pour stocker directement des enregistrements (dictionnaires) dans des
fichiers .dat.
Exercice 4 : Fichier binaire des étudiants
Créer un fichier binaire contenant N étudiants, puis l’afficher.
🔧 Module utilisé
import pickle
✅ 1. Écriture dans un fichier binaire
import pickle
N = int(input("Nombre d'étudiants : "))
classe = []
for i in range(N):
nom = input("Nom : ")
prenom = input("Prénom : ")
moyenne = float(input("Moyenne : "))
[Link]({"nom": nom, "prenom": prenom, "moyenne": moyenne})
with open("[Link]", "wb") as f:
[Link](classe, f)
✅ 2. Lecture du fichier binaire
import pickle
with open("[Link]", "rb") as f:
classe = [Link](f)
print("Contenu du fichier binaire :")
for e in classe:
print(e["nom"], e["prenom"], e["moyenne"])
Exercice 5 : Rechercher un étudiant dans un fichier binaire
🔍 Rechercher par nom
import pickle
nom_rech = input("Nom à chercher : ")
with open("[Link]", "rb") as f:
classe = [Link](f)
existe = False
for etu in classe:
if etu["nom"] == nom_rech:
print("Trouvé :", etu)
existe = True
if not existe:
print("Étudiant non trouvé.")
⭐ 4) Exercice Complet Niveau Bac
🎓 Gestion d'une agence bancaire (TXT + enregistrements)
Chaque client a :
cin;nom;solde
Tâches :
1. Ajouter un client dans le fichier
2. Afficher tous les clients
3. Chercher un client par CIN
4. Modifier le solde (dépôt ou retrait)
5. Trouver le client le plus riche