Bonjour je dois réalisé un exercice sur de la poo (terminale spé) j’ai réussi à faire le début mais je n’arrive pas a faire les questions suivantes pouvez vous m’aider
En photo se trouve le début du code.
Exercices:
Maintenant que l'on a défini ce qu'est un élève avec la classe Eleve, il nous faut pour gérer notre lycée regrouper nos élèves elv1, elv2... dans un ensemble.
Nous allons pour cela définir une classe ensEleves, qui contiendra sous forme de dictionnaire tous les élèves, et des fonctions (méthodes) permettant d'agir
sur ces élèves :
Avant tout vous allez dans l'onglet Home de Jupyter NoteBook créer un nouveau fichier txt, appelé eleves.csv. Vous y copierez les lignes
suivantes:
elv1; Mebeaucoup; Sarah; 01/01/2003; classe1; ['emprunt_1', 'emprunt_2', 'emprunt_3']
elv2; Camion; Bo; 18/03/1954; classe2; ['emprunt_4']
elv3; Versaire; Annie; 19/09/1970; Schmurtze classe; ['emprunt_5']
1. Créez la classe ensEleves. Cette classe contient un attribut nommé eleve (le dictionnaire des élèves), ainsi qu'une méthode charger_eleves() qui prend
en argument une chaîne de caractères qui est le nom du fichier csv contenant la liste des eleves. Pour la lecture d'un fichier .csv on peut utiliser le code
suivant :
import codecs
import csv
def charger_eleves (file):
donnee=[]
with codecs.open(file, encoding="utf-8") as csvfile: # Ouverture du fichier
spam = csv.reader (csvfile, delimiter=';')
for rang in spam :
donnee.append(rang)
return donnee
# codecs.open pour forcer le lecture en utf-8
donne charger_eleves ("eleves.csv")
print (donne)
Saisir et tester le code ci-dessous.
2. Transformer le code précédent pour créer une méthode charger_eleves() de la classe ensEleves. Une fois chargé le dictionnaire des élèves doit
apparaître sous la forme :
{'elv1': {'nom': 'Mebeaucoup', 'prenom': 'Sarah', 'date_de_naissance': '01/01/2003', 'classe': 'classe1', 'emprunt
s': ['emprunt_1', 'emprunt_2', 'emprunt_3']), 'elv2': {'nom': 'Camion', 'prenom': 'Bo', 'date_de_naissance': '18/03/
1954', 'classe': 'classe2', 'emprunts': ['emprunt_4']}, 'elv3': {'nom': 'Versaire', 'prenom': 'Annie', 'date_de_nais
sance': '19/09/1970', 'classe': 'classe3', 'emprunts': ['emprunt_5']}}