Exercice 1: Gestion de fichiers - Carnet d’adresses avec fichiers JSON
Contexte :
Tu travailles sur un programme permettant de gérer un carnet d’adresses. Ce carnet est
stocké dans un fichier JSON nommé [Link]. Chaque contact est un dictionnaire
contenant les champs suivants : nom, email, téléphone.
Exemple de structure du fichier [Link] :
[
{
"nom": "Alice",
"email": "alice@[Link]",
"telephone": "123456789"
},
{
"nom": "Bob",
"email": "bob@[Link]",
"telephone": "987654321"
}
]
Objectifs de l’exercice :
Ecrire un programme Python permettant de :
1. Lire le carnet d’adresses
- Crée une fonction lire_carnet(fichier) qui lit et retourne le contenu du fichier JSON. - Si le
fichier n’existe pas ou contient des erreurs (ex. format incorrect), afficher un message et
retourner une liste vide.
2. Écrire dans le fichier [Link]
- Crée une fonction ecrire_dans_carnet(carnet) qui enregistre la liste des contacts dans le
fichier [Link].
3. Ajouter un contact
- Crée une fonction ajouter_contact(carnet) qui :
- Demande à l'utilisateur de saisir les informations d’un nouveau contact.
- Ajoute ce contact à la liste.
- Ecrire la liste mise à jour dans [Link] à l’aide de la fonction ecrire_dans_carnet.
4. Afficher tous les contacts
- Crée une fonction afficher_contacts(carnet) qui affiche tous les contacts avec leur numéro
(index et l’initialise l’index à 1).
Exemple :
1. Alice - alice@[Link] - 123456789
2. Bob - bob@[Link] - 987654321
5. Modifier un contact
- Crée une fonction modifier_contact(carnet, index) :
- Vérifie que l’index est valide.
- Permet à l’utilisateur de modifier le nom, l’email et/ou le téléphone.
- Les champs laissés vides ne doivent pas être modifiés.
- Ecrire les modifications dans [Link] à l’aide de la fonction ecrire_dans_carnet.
6. Supprimer un contact
- Crée une fonction supprimer_contact(carnet, index) qui :
- Vérifie que l’index est valide.
- Supprime le contact correspondant.
- Ecrire la nouvelle liste dans [Link] à l’aide de la fonction ecrire_dans_carnet.
7. Gestion des erreurs
- Ton programme doit gérer proprement les cas suivants :
- Le fichier [Link] est introuvable.
- Le fichier JSON est mal formé.
- L’index donné pour modifier ou supprimer est invalide.
NB: le parametre (carnet) represente le contenu du carnet
Bonus : Menu interactif
- Ajoute un menu en boucle permettant à l’utilisateur de choisir une action
: 1. Afficher les contacts
2. Ajouter un contact
3. Modifier un contact
4. Supprimer un contact
5. Quitter
Exercice 2 : Manipulation de données avec pandas
1. Crée un dictionnaire avec les informations suivantes pour 10 étudiants
: - Nom
- Prénom
- Sexe
- Âge
- Filière
- Moyenne
Questions/Actions à effectuer :
- Créer un DataFrame à partir de ce dictionnaire.
- Afficher les 5 premières lignes du DataFrame.
- Afficher la taille du DataFrame (nombre de lignes/colonnes).
- Ajouter une colonne "Pays" avec les données suivantes : "Mali", "Benin", "Gabon", "Togo".
- Ajouter un nouvel étudiant avec ses informations.
- Supprimer un étudiant en te basant sur son index.
- Afficher les étudiants inscrits en Data.
- Afficher tous les étudiants d'une filière donnée.
- Afficher uniquement les colonnes Nom, Filière, Moyenne.
- Trier les étudiants par moyenne décroissante.