From d6f35c05c2c8c21580c5b6a5f464f1f94c5fc90b Mon Sep 17 00:00:00 2001 From: gantchou koffi <koffi.gantchou.etu@univ-lille.fr> Date: Tue, 25 Mar 2025 11:44:03 +0100 Subject: [PATCH] depot --- associations/recherches.py | 51 ++-- tp4/date.py | 225 ++++++++++++++ tp4/etudiant.py | 108 +++++++ tp4/etudiants.csv | 604 +++++++++++++++++++++++++++++++++++++ tp4/gestion_promo_etu.py | 229 ++++++++++++++ 5 files changed, 1195 insertions(+), 22 deletions(-) create mode 100644 tp4/date.py create mode 100644 tp4/etudiant.py create mode 100644 tp4/etudiants.csv create mode 100644 tp4/gestion_promo_etu.py diff --git a/associations/recherches.py b/associations/recherches.py index ce8e2dd..c138e12 100644 --- a/associations/recherches.py +++ b/associations/recherches.py @@ -41,7 +41,17 @@ def indice_seq(elem: C, liste: list[C], comp: Callable[[C, C], int]) \ $$$ indice_seq(42, [], compare) (False, 0) """ - + trouve = False + i = 0 + while i<len(liste) and trouve == False: + res = comp(elem, liste[i]) + if res == 0: + trouve = True + i+=1 + if trouve : + return ((trouve, i-1)) + return ((trouve,i)) + def indice_dicho(elem: C, liste: list[C], comp: Callable[[C, C], int]) \ -> tuple[bool, int]: @@ -70,26 +80,21 @@ def indice_dicho(elem: C, liste: list[C], comp: Callable[[C, C], int]) \ $$$ indice_dicho(42, [], compare) (False, 0) """ - if len(liste) == 0: - return (False, 0) trouve = False i = 0 - res = len(liste)-1 - while i < len(liste) and not trouve: - cmp = comp(elem , liste[i]) - if cmp == 0: + sup = False + while i<len(liste) and trouve == False and sup == False: + res = comp(elem, liste[i]) + if res == 0: trouve = True - res = i - elif cmp==-1: - trouve = False - res = elem - else: - trouve = False - res = len(liste) + if res == -1: + sup = True i+=1 + if trouve or sup: + return ((trouve, i-1)) + else: + return ((trouve,i)) - return (trouve,res) - def inserer(indice: int, elem: C, liste: list[C]) -> NoneType: """Insère l'élément elem à l'indice indice de la liste liste. @@ -111,12 +116,14 @@ def inserer(indice: int, elem: C, liste: list[C]) -> NoneType: $$$ vide [42] """ - licopier = liste.copy() - for i in range(len(licopier)): - licopier[indice] = elem - licopier[i] = licopier[i+1] - licopier.append(liste[-1]) - return licopier + if indice == 0: + liste[:] = [elem]+liste + elif indice == len(liste): + liste.append(elem) + else: + l = liste[:indice] + l.append(elem) + liste[:] = l+liste[indice:] if __name__ == '__main__': import apl1test diff --git a/tp4/date.py b/tp4/date.py new file mode 100644 index 0000000..1ae7daa --- /dev/null +++ b/tp4/date.py @@ -0,0 +1,225 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +:mod:`date` module : a module for date + +:author: `FIL - Faculté des Sciences et Technologies - + Univ. Lille <http://portail.fil.univ-lille1.fr>`_ + +:date: 2024, january. Last revision: 2024, january + +Date are objects + +""" + +NOM_MOIS = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', + 'août', 'septembre', 'octobre', 'novembre', 'décembre'] +DUREE_MOIS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] + + +def est_bissextile(annee: int) -> bool: + """ + Renvoie True si et seulement si annee est bissextile. + + précondition: annee >= 1582. + + $$$ est_bissextile(2024) + True + $$$ est_bissextile(2000) + True + $$$ est_bissextile(2100) + False + """ + return annee % 4 == 0 and (annee % 100 != 0 or annee % 400 == 0) + + +def nombre_de_jour_dans_mois(mois: int, annee: int) -> int: + """ + Renvoie le nombre de jour dans le mois `mois` de l'année `année`. + + précondition : 0 <= mois < 12 et annee >= 1582. + """ + duree_mois = DUREE_MOIS[mois - 1] + if est_bissextile(annee) and mois == 2: + return duree_mois + 1 + return duree_mois + + +def nom_mois(mois) -> str: + """Renvoie le nom du mois en français.""" + return NOM_MOIS[mois - 1] + + +class Date: + """ + une classe permettant de représenter des dates + """ + + def __init__(self, jour: int, mois: int, annee: int): + """ + initialise une nouvelle date + + précondition : jour/mois/annee est une date valide + + exemples : + + $$$ adate = Date(4, 6, 2024) + $$$ type(adate) == Date + True + """ + self.jour = jour + self.mois = mois + self.annee = annee + + def __str__(self) -> str: + """ + Renvoie une châine représentant la date. + + $$$ adate = Date(23, 1, 2024) + $$$ str(adate) + '23 janvier 2024' + """ + return f"{self.jour} {nom_mois(self.mois)} {self.annee}" + + def __repr__(self) -> str: + """ + Une représentation textuelle d'une date; + """ + return f"Date({self.jour}, {self.mois}, {self.annee})" + + def __eq__(self, other: 'Date') -> bool: + """ + Renvoie True si, et seulement si, deux dates sont égales. + + exemples : + + $$$ adate1 = Date(23, 1, 2024) + $$$ adate2 = Date(23, 1, 2024) + $$$ id(adate1) == id(adate2) + False + $$$ adate1 == adate2 + True + """ + return self.jour == other.jour and \ + self.mois == other.mois and \ + self.annee == other.annee + + def __lt__(self, other: 'Date') -> bool: + """ + Renvoie True si, et seulement si, la date représentée par + self est avant celle représentée par other. + + exemples : + + $$$ adate1 = Date(23, 1, 2024) + $$$ adate2 = Date(25, 1, 2024) + $$$ adate1 < adate2 + True + $$$ adate2 < adate1 + False + $$$ adate1 < Date(23, 1, 2024) + False + """ + if self.annee == other.annee: + if self.mois == other.mois: + res = self.jour < other.jour + else: + res = self.mois < other.mois + else: + res = self.annee < other.annee + return res + + def __le__(self, other: 'Date') -> bool: + """ + Renvoie True si, et seulement si, la date représentée par + self est avant ou egale à celle représentée par other. + + exemples : + + $$$ adate1 = Date(23, 1, 2024) + $$$ adate2 = Date(25, 1, 2024) + $$$ adate1 <= adate2 + True + $$$ adate2 <= adate1 + False + $$$ adate1 <= Date(23, 1, 2024) + True + """ + return self < other or self == other + + def tomorrow(self) -> 'Date': + """ + renvoie la date du lendemain. + + $$$ Date(31, 12, 2023).tomorrow() == Date(1, 1, 2024) + True + $$$ Date(31, 1, 2024).tomorrow() == Date(1, 2, 2024) + True + $$$ Date(24, 1, 2024).tomorrow() == Date(25, 1, 2024) + True + """ + annee = self.annee + mois = self.mois + jour = self.jour + + if jour == nombre_de_jour_dans_mois(mois, annee): + jour = 1 + if mois == 12: + annee = annee + 1 + mois = 1 + else: + mois = mois + 1 + else: + jour = jour + 1 + return Date(jour, mois, annee) + + def __add__(self, njour: int) -> 'Date': + """ + ajoute un nombre de jour à une date. + + $$$ Date(31, 1, 24) + 7 + Date(7, 2, 24) + """ + res = self + for _ in range(njour): + res = res.tomorrow() + return res + + def __sub__(self, other: 'Date') -> int: + """ + Renvoie le nombre de jour entre deux dates. + + $$$ Date(7, 2, 24) - Date(31, 1, 24) + 7 + """ + if self <= other: + start, ending = self, other + else: + start, ending = other, self + res = 0 + while start != ending: + start = start.tomorrow() + res = res + 1 + return res + + def __gt__(self, other: 'Date') -> bool: + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + """ + + if self.annee == other.annee: + if self.mois == other.mois: + res = self.jour > other.jour + else: + res = self.mois > other.mois + else: + res = self.annee > other.annee + return res + +if (__name__ == '__main__'): + import apl1test + apl1test.testmod('date.py') diff --git a/tp4/etudiant.py b/tp4/etudiant.py new file mode 100644 index 0000000..8dae957 --- /dev/null +++ b/tp4/etudiant.py @@ -0,0 +1,108 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +:author: FIL - FST - Univ. Lille.fr <http://portail.fil.univ-lille.fr>_ +:date: janvier 2019 +:last revised: +:Fournit : +""" +from date import Date + + +class Etudiant: + """ + une classe représentant des étudiants. + + $$$ etu = Etudiant(314159, 'Oléon', 'Tim', Date(7, 11, 2004), 'MI', '15') + $$$ str(etu) + 'Tim Oléon' + $$$ repr(etu) + "Etudiant(314159, 'Oléon', 'Tim', Date(7, 11, 2004), 'MI', '15')" + $$$ etu.prenom + 'Tim' + $$$ etu.nip + 314159 + $$$ etu.nom + 'Oléon' + $$$ etu.formation + 'MI' + $$$ etu.groupe + '15' + $$$ etu2 = Etudiant(314159, 'Oléon', 'Tim', Date(7, 11, 2004), 'MI', '15') + $$$ etu == etu2 + True + $$$ etu3 = Etudiant(141442, 'Oléon', 'Tim', Date(7, 11, 2004), 'MI', '15') + $$$ etu == etu3 + False + $$$ etu4 = Etudiant(141442, 'Calbuth', 'Raymond', Date(2, 1, 2005), 'MI', '11') + $$$ etu < etu4 + True + $$$ isinstance(etu.naissance, Date) + True + """ + from date import Date + def __init__(self, nip: int, nom, prenom, + naissance: Date, formation: str, groupe: str): + """ + initialise un nouvel étudiant à partir de son nip, son nom, son + prénom, sa formation et son groupe. + + précondition : le nip, le nom et le prénom ne peuvent être nuls ou vides. + """ + self.nip = nip + self.nom = nom + self.prenom = prenom + self.naissance = naissance + self.formation = formation + self.groupe = groupe + + + def __eq__(self, etudiant) -> bool: + """ + Renvoie True ssi other est un étudiant ayant : + - même nip, + - même nom et + - même prénom que `self`, + et False sinon. + """ + if isinstance(etudiant,Etudiant): + return etudiant.nom == self.nom and self.prenom==etudiant.prenom and self.nip == etudiant.nip + + def __lt__(self, other) -> bool: + """ + Renvoie True si self est né avant other + """ + if not (self.prenom < other.prenom and self.nom < other.nom and (self.Date < other.Date) and (self.naissance < other.naissance) and (self.nip < other.nip) and (self.formation < other.formation)): + return True + return False + + + def __str__(self) -> str: + """ + Renvoie une représentation textuelle de self pour impression. + """ + return f"{self.prenom} {self.nom}" + + def __repr__(self) -> str: + """ + Renvoie une représentation textuelle interne de self pour le shell. + """ + return f"Etudiant({self.nip}, '{self.nom}', '{self.prenom}', {repr(self.naissance)}, '{self.formation}', '{self.groupe}')" + + + + + + +if (__name__ == "__main__"): + import apl1test + apl1test.testmod('etudiant.py') + + + + + + + + diff --git a/tp4/etudiants.csv b/tp4/etudiants.csv new file mode 100644 index 0000000..18ca977 --- /dev/null +++ b/tp4/etudiants.csv @@ -0,0 +1,604 @@ +nip;nom;prenom;naissance;formation;groupe +48464709;Courtois;David;2006-05-11;MIASHS;11 +49465355;Philippe;Christiane;2005-03-12;MI;11 +49459689;Marchand;Cécile;2006-07-16;MI;11 +49483931;Michaud;Andrée;2005-04-27;MI;11 +48500944;Perrin;Benoît;2005-05-25;PEIP;11 +49952015;Didier;David;2004-10-25;MI;11 +49282446;Moreau;Anne;2004-12-29;LICAM;11 +49862411;Allard;Paul;2006-05-12;MI;11 +49928552;Texier;Eugène;2006-02-21;MI;12 +49475876;Berthelot;Josette;2006-09-02;MIASHS;12 +49779669;Moreau;Gabriel;2004-05-24;MI;12 +48364455;Gros;Zacharie;2007-01-10;MI;12 +48433319;Hamon;Maurice;2004-04-04;MI;13 +48888498;Guilbert;Mathilde;2006-01-29;MI;13 +48002743;Duhamel;Marianne;2005-05-31;MI;13 +48887662;Deschamps;Jacqueline;2006-01-23;MI;13 +49218901;Delaunay;Paul;2006-03-17;MI;13 +49690157;Barre;Jacques;2005-11-17;MI;13 +49143616;Hebert;Laetitia;2006-12-24;MI;13 +48831353;Gosselin;Laure;2006-03-16;MI;13 +49545661;Guyot;Martine;2007-01-26;MI;13 +49299532;Camus;Nathalie;2005-11-18;MI;13 +49370082;Bazin;Maurice;2006-05-15;MI;14 +48254681;Poirier;Marcel;2004-10-02;MI;14 +48450591;Philippe;Jacqueline;2005-12-21;MI;14 +49488140;Charrier;Marthe;2006-03-23;MI;14 +49589784;Lefebvre;Gabriel;2005-04-29;MI;14 +48091905;Girard;Raymond;2006-12-04;MI;14 +48326830;Joseph;Patrick;2006-04-22;MI;14 +48207028;Maurice;Laurent;2006-11-13;MI;14 +49409126;Peltier;Daniel;2006-09-22;MI;14 +49718196;Charles;Mathilde;2006-02-20;MI;15 +48037379;Potier;Nath;2005-03-10;MI;15 +49980636;Breton;Marc;2004-11-30;MI;15 +48953882;Dupuy;Valérie;2005-11-24;MI;15 +48217566;François;Marthe;2005-09-06;MI;15 +49106166;Brunet;Martine;2005-07-02;MI;15 +49085299;Peltier;Valentine;2004-09-28;MI;21 +48178208;Guilbert;Matthieu;2004-04-06;MI;21 +49754608;Vallée;Gabriel;2004-11-28;MI;21 +48295822;Gillet;Nathalie;2005-12-21;MI;21 +48686424;Delmas;Margaud;2004-10-07;MI;21 +49225613;Letellier;Laetitia;2006-12-26;MI;21 +49935972;Rolland;Capucine;2004-08-28;MI;21 +48507983;Legros;Caroline;2004-02-26;MI;21 +49335270;Caron;Marthe;2005-06-21;MI;21 +48809570;Leblanc;Matthieu;2004-05-10;MI;21 +49075157;Aubry;Margaud;2005-10-16;MI;21 +48210578;Pasquier;Patricia;2004-10-08;MI;22 +48369209;Pons;Laure;2005-04-11;MI;22 +49268750;Techer;Marguerite;2006-10-16;MI;22 +48924352;Lopez;Laetitia;2005-10-17;MI;22 +48061936;Neveu;Laurent;2004-12-11;MI;23 +48223896;Leclerc;Sabine;2005-07-09;MI;23 +48107867;Hebert;Nathalie;2005-01-29;MI;23 +48218144;Fabre;Valentine;2006-01-27;MI;23 +49205699;Chauvin;Marcelle;2005-10-30;MI;23 +48368815;Prévost;Mathilde;2005-09-26;MI;23 +49090196;Michel;Capucine;2004-09-08;MI;24 +49762350;Rolland;Caroline;2007-01-02;MI;24 +48136263;Chevalier;Marcel;2007-01-05;MI;24 +48797669;Camus;Marcelle;2005-04-25;MI;24 +49859821;Giraud;Margot;2005-07-05;MI;24 +49071273;Rolland;Capucine;2004-10-12;MI;24 +49735587;Traore;Pauline;2006-10-28;MI;24 +48944055;Dijoux;Xavier;2004-12-03;MI;24 +49753296;Hamon;Martine;2005-07-24;MI;24 +48998245;Ramos;Caroline;2004-12-03;PEIP;1 +49009994;Maréchal;Marcelle;2004-03-09;PEIP;1 +49493319;Lebon;David;2006-03-08;PEIP;1 +48016286;Mendès;Gabrielle;2006-01-28;PEIP;1 +48387099;Guérin;Raymond;2004-05-19;PEIP;1 +48536776;Fernandes;Laetitia;2006-02-28;PEIP;1 +48846324;Giraud;Marthe;2004-11-25;PEIP;2 +48885115;Lefort;Martine;2005-05-24;PEIP;2 +49892103;Gilbert;Maggie;2006-02-22;PEIP;2 +49617306;Roy;Sabine;2004-05-11;PEIP;2 +48334957;Gaillard;Margaux;2004-02-20;PEIP;2 +48647679;Renault;Patricia;2004-03-11;PEIP;2 +48990399;Rivière;Pauline;2006-06-06;PEIP;2 +48867942;Poulain;Jacques;2006-02-20;PEIP;2 +48722258;Normand;Nath;2005-11-14;PEIP;2 +49100035;Courtois;Paulette;2005-10-15;PEIP;2 +48198447;Hamon;Maggie;2005-09-01;PEIP;2 +49792194;Laroche;Patrick;2006-03-13;PEIP;3 +48473285;Launay;Nath;2006-07-02;PEIP;3 +48237161;Verdier;Margaret;2004-09-25;PEIP;3 +48714204;Simon;Caroline;2006-02-04;PEIP;3 +48644213;Dos Santos;Marthe;2007-02-02;PEIP;3 +49440806;Leroy;Margot;2004-04-16;PEIP;3 +48603388;Gomez;Jacques;2004-10-01;PEIP;3 +48686596;Guérin;Danielle;2007-01-16;MIASHS;1 +49558307;Bonneau;Manon;2006-01-06;MIASHS;1 +49609922;Courtois;David;2006-08-10;MIASHS;1 +48193007;Caron;Manon;2006-11-06;MIASHS;1 +49766891;Lucas;David;2006-03-07;MIASHS;1 +49343667;Texier;Marc;2005-12-02;MIASHS;1 +49460619;Marion;Patrick;2005-07-17;MIASHS;1 +49850458;Payet;Manon;2005-01-24;MIASHS;2 +48394547;Gautier;Matthieu;2005-02-20;MIASHS;2 +48414602;Normand;Marcel;2006-04-21;MIASHS;2 +49674192;Seguin;Maggie;2006-12-19;MIASHS;2 +49298384;Langlois;Maryse;2004-04-24;MIASHS;2 +48743763;Pichon;Patrick;2006-07-06;MIASHS;2 +49858893;Dumont;Margot;2005-01-02;MIASHS;2 +49270005;Barre;Daniel;2005-04-13;MIASHS;2 +49551906;Martins;Daniel;2006-09-28;MIASHS;2 +48305428;Garcia;Patrick;2005-07-13;MIASHS;3 +48095123;Carre;Xavier;2004-05-30;MIASHS;3 +48089222;Blin;Martine;2005-08-07;MIASHS;3 +48727812;Monnier;Margaret;2005-03-08;MIASHS;3 +48479083;Dupuis;Nathalie;2005-11-28;MIASHS;3 +49320241;Grenier;Martine;2005-10-12;MIASHS;3 +48857353;Delmas;Patricia;2004-05-18;MIASHS;3 +49688156;Couturier;Xavier;2005-04-27;MIASHS;3 +49950940;Le Gall;Margaret;2005-03-22;MIASHS;4 +49044697;Lévy;Marcel;2005-10-06;MIASHS;4 +49845649;Robert;Raymond;2005-12-31;MIASHS;4 +48014455;Descamps;Marcelle;2004-07-27;MIASHS;4 +48901269;Colas;Martine;2005-01-24;MIASHS;4 +48331528;Lambert;Xavier;2006-11-13;MIASHS;4 +48729609;De Sousa;Marie;2006-01-14;MIASHS;5 +49001357;Perret;Manon;2006-01-30;MIASHS;5 +49579872;Rey;Xavier;2004-02-12;MIASHS;5 +49694899;Joubert;Maurice;2004-09-20;MIASHS;5 +48689571;Petit;Jacqueline;2004-09-05;MIASHS;6 +49092688;Pineau;Maurice;2005-03-28;MIASHS;6 +48367239;Chartier;Raymond;2004-05-11;MIASHS;6 +48154912;Durand;Patricia;2005-03-23;MIASHS;6 +49304296;Leduc;Raymond;2004-06-28;MIASHS;7 +48816189;Faivre;Pauline;2006-03-21;MIASHS;7 +49242540;Verdier;Marianne;2005-10-23;MIASHS;7 +48076879;Georges;Marcel;2004-06-05;MIASHS;7 +48771958;Martineau;Laetitia;2005-06-07;MIASHS;7 +48314422;Fouquet;Sabine;2005-08-17;MIASHS;7 +49577094;De Oliveira;Marguerite;2004-12-10;MIASHS;7 +48897341;Turpin;Valentine;2004-02-24;LICAM;1 +48435152;Ollivier;Nathalie;2005-11-15;LICAM;1 +48462487;Allard;Laurent;2004-06-26;LICAM;1 +48116082;Parent;Océane;2004-02-09;MI;12 +48929879;Girard;Océane;2005-05-05;MIASHS;5 +49999190;Rivière;Adrien;2006-01-15;MI;11 +48603000;Joubert;Édith;2006-06-05;MI;11 +48699708;Hernandez;Odette;2005-04-11;MI;12 +49346192;Philippe;Édouard;2004-09-26;MI;13 +48644490;Chrétien;Adélaïde;2006-01-06;MI;14 +48022498;Legendre;Édith;2007-01-21;MI;15 +49349318;Pages;Adèle;2006-11-04;MI;22 +48138348;Guilbert;Adèle;2004-06-08;MI;22 +49880382;Verdier;Adrienne;2006-10-13;MI;23 +49206571;Georges;Adèle;2004-03-30;MI;24 +48989315;Gaudin;Édouard;2006-10-25;MI;24 +49120628;Roussel;Adrienne;2004-05-31;PEIP;1 +49574410;Valentin;Adèle;2007-01-21;PEIP;3 +48747125;Dupré;Adrien;2005-08-23;MIASHS;3 +48367285;Laurent;Odette;2004-05-08;MIASHS;4 +48231600;Leclerc;Odette;2006-09-06;MIASHS;5 +49168357;Antoine;Édouard;2007-01-17;MIASHS;7 +48929403;Allain;Édith;2005-09-13;LICAM;1 +49182909;Mace;Henri;2004-12-02;MI;11 +49318500;Colas;Benjamin;2005-03-07;MI;11 +49277488;Le Roux;Jeanne;2006-12-29;MI;11 +48243028;Voisin;Denis;2005-04-26;MI;12 +49944339;Ledoux;René;2005-04-01;MI;12 +49075803;Masson;Georges;2005-02-11;MI;12 +49564150;Thibault;Jeannine;2004-07-07;MI;13 +48162293;Grondin;Geneviève;2006-02-13;MI;13 +49198171;Lemaître;Benjamin;2006-07-30;MI;13 +48603728;Muller;Georges;2005-08-30;MI;14 +48078561;Bonnin;Benoît;2005-05-01;MI;14 +48072112;Robert;Bernadette;2005-03-08;MI;15 +49227359;Lecoq;Bertrand;2006-08-16;MI;21 +48163433;Payet;Bernadette;2004-11-01;MI;21 +49770206;Hebert;Benoît;2005-11-15;MI;22 +48762057;Ollivier;Georges;2005-02-24;MI;23 +49885038;Rousset;Benjamin;2006-01-22;MI;23 +48810265;Letellier;Geneviève;2006-08-14;PEIP;1 +49542898;Laporte;Denise;2006-08-30;PEIP;3 +48288518;Loiseau;Denis;2004-06-14;PEIP;3 +49607023;Morin;Benoît;2005-11-21;PEIP;3 +48441303;Bertrand;Benoît;2006-12-11;MIASHS;1 +49344184;Labbé;Bertrand;2005-01-06;MIASHS;1 +49662735;Barbe;Georges;2005-10-23;MIASHS;1 +48369860;Dupont;Renée;2006-07-18;MIASHS;2 +48706454;Normand;Bernard;2004-08-17;MIASHS;2 +49592042;Peltier;Georges;2006-10-23;MIASHS;3 +48496784;Rolland;Benjamin;2006-09-03;MIASHS;3 +48552462;Verdier;Henriette;2007-02-03;MIASHS;3 +48654588;Gillet;Jeanne;2006-06-21;MIASHS;3 +48546089;Sanchez;Benoît;2004-05-28;MIASHS;3 +49332212;Daniel;Benoît;2004-07-27;MIASHS;3 +49323867;Duhamel;Bertrand;2006-11-07;MIASHS;4 +48714218;Rivière;Denis;2007-01-16;MIASHS;4 +49514710;Guyon;Denise;2006-07-29;MIASHS;4 +48355068;Étienne;Denise;2006-02-18;MIASHS;4 +48302481;Ruiz;Jean;2005-02-24;MIASHS;4 +49578292;Chauvin;Jeanne;2005-02-01;MIASHS;5 +49699602;Besson;Henri;2005-07-12;MIASHS;5 +49599475;Chevalier;Henri;2005-04-16;MIASHS;5 +49910061;Martins;Bernadette;2005-06-28;MIASHS;6 +49568642;Guillaume;Benoît;2004-11-13;LICAM;1 +48563768;Delmas;Agathe;2006-12-13;MIASHS;2 +49155325;David;Agathe;2006-04-24;MIASHS;6 +49841290;Meyer;Christophe;2005-12-18;MI;11 +48390136;Baudry;Théodore;2006-05-04;MI;11 +48372430;Gillet;Thibaut;2004-07-27;MI;11 +49208635;Dos Santos;Théodore;2006-05-06;MI;12 +49447409;Lévêque;Christiane;2007-01-06;MI;12 +48188305;Guyot;Thibault;2004-11-17;MI;13 +48457703;Delattre;Théodore;2004-05-20;MI;13 +49391240;Millet;Christelle;2005-05-12;MI;13 +49223835;Clément;Théodore;2005-12-25;MI;13 +49333362;Daniel;Thierry;2006-05-01;MI;13 +49078309;Robin;Christophe;2006-09-26;MI;14 +48285205;Schmitt;Thierry;2005-11-13;MI;14 +49310819;Maréchal;Philippe;2005-02-11;MI;21 +48882776;Gilbert;Christophe;2004-12-02;MI;21 +48511231;Blanc;Théophile;2005-06-30;MI;21 +48891170;Chauvet;Thérèse;2006-01-03;MI;22 +49091807;Brunel;Philippine;2005-11-13;MI;23 +49056255;Turpin;Christine;2004-05-18;MI;23 +48941559;Jean;Charles;2006-01-07;MI;24 +49571013;Lejeune;Christine;2007-01-11;MI;24 +48047609;Martel;Théodore;2004-03-01;MI;24 +49693520;Blanchard;Thierry;2005-01-05;MI;24 +48825890;Gaudin;Thérèse;2004-09-15;PEIP;1 +49780670;Fischer;Thomas;2006-09-06;PEIP;2 +48500186;Lévêque;Charles;2004-06-07;PEIP;2 +49437158;Raynaud;Théodore;2004-05-08;PEIP;3 +48610236;Roux;Théophile;2005-03-13;PEIP;3 +49859708;Vidal;Philippe;2005-11-25;MIASHS;1 +49364974;Clerc;Théophile;2006-11-02;MIASHS;2 +49858517;Pottier;Philippe;2004-06-20;MIASHS;2 +48899275;Besnard;Théophile;2006-07-13;MIASHS;2 +49106608;Hardy;Charles;2004-07-30;MIASHS;3 +49720242;Briand;Thibaut;2005-06-05;MIASHS;3 +49072674;Auger;Christophe;2005-07-27;MIASHS;4 +48278268;Perrier;Christophe;2005-12-12;MIASHS;4 +49319576;Carpentier;Théodore;2004-06-11;MIASHS;5 +49027624;Cohen;Philippine;2004-04-27;MIASHS;5 +49000721;Marie;Thérèse;2005-08-07;MIASHS;6 +49808312;Maurice;Thibault;2006-04-23;MIASHS;6 +48788281;Bourgeois;Charles;2006-05-26;MIASHS;6 +49468826;Charles;Thibaut;2006-05-12;MIASHS;6 +49348264;Hamon;Philippe;2006-05-10;MIASHS;7 +49258063;Nguyen;Thomas;2006-01-22;MIASHS;7 +49646759;Collet;Chantal;2004-05-17;LICAM;1 +48084967;Rousset;Charles;2005-04-12;LICAM;1 +49364963;Loiseau;Thibault;2006-03-29;LICAM;1 +48140841;Laroche;Aimé;2005-07-24;MI;11 +48658753;Guibert;Michel;2005-04-24;MI;11 +49690531;Noël;Simone;2005-07-24;MI;11 +49109272;Dubois;Michelle;2005-02-22;MI;11 +49960206;Moreau;Victoire;2005-11-17;MI;11 +48760164;Pages;Michelle;2005-04-03;MI;12 +49014081;Cousin;Simone;2005-06-18;MI;12 +49031747;Rolland;Michèle;2005-09-13;MI;12 +49249132;Faure;Victor;2005-11-11;MI;13 +48020809;Mahe;Timothée;2006-08-24;MI;13 +48449430;Fouquet;Pierre;2005-03-14;MI;14 +48679640;David;Michèle;2005-07-16;MI;15 +48072976;Laroche;Pierre;2004-08-17;MI;15 +48369301;Dumas;Richard;2004-11-17;MI;15 +48010476;Pascal;Nicole;2006-10-01;MI;15 +48224967;Charpentier;Victor;2004-11-30;MI;15 +49257872;Bonnet;Michel;2006-03-22;MI;15 +48515524;Ribeiro;William;2004-02-14;MI;21 +49829185;Perrin;Richard;2006-08-14;MI;21 +48569284;Benoit;Gilles;2006-05-20;MI;21 +48700284;Fournier;Victoire;2006-12-05;MI;21 +48203581;Marchand;Michel;2006-03-28;MI;21 +48327442;Martel;Victor;2004-08-19;MI;22 +48981580;Garnier;Vincent;2004-06-25;MI;22 +48919758;Roux;Gilbert;2005-10-01;MI;22 +49745284;Lebreton;Diane;2005-04-28;MI;23 +49028889;Maury;Nicolas;2004-04-22;MI;23 +48308113;Labbé;Michelle;2006-09-17;MI;23 +48462806;Guyot;Michel;2005-01-24;MI;23 +48900048;Moulin;Simone;2005-07-11;MI;23 +49752693;Bernard;Timothée;2004-11-21;MI;24 +48229976;Delaunay;Gilbert;2004-07-19;MI;24 +48554298;Lopez;Gilles;2005-10-05;PEIP;1 +48176997;Raymond;Vincent;2004-02-17;PEIP;2 +48619911;Giraud;Vincent;2005-02-22;PEIP;2 +48873029;Bodin;Timothée;2006-08-06;PEIP;2 +49869618;Guibert;Victor;2006-07-11;PEIP;2 +48382376;Bouvier;Gilles;2005-11-10;PEIP;3 +48993857;Albert;Pierre;2005-12-15;PEIP;3 +49196456;Pasquier;Aimé;2005-01-09;MIASHS;1 +49773989;Pichon;Timothée;2005-05-17;MIASHS;2 +49634828;Michaud;Nicolas;2006-09-16;MIASHS;2 +49365567;Peltier;Michelle;2004-05-19;MIASHS;3 +48486675;Aubry;Michelle;2004-02-28;MIASHS;4 +49827559;Renault;Aimée;2006-10-24;MIASHS;4 +48410651;Brunet;Gilles;2005-10-01;MIASHS;4 +48475700;Klein;Simone;2005-07-07;MIASHS;4 +49212966;Laporte;Simone;2006-08-31;MIASHS;5 +48848466;Barthelemy;Timothée;2004-09-30;MIASHS;5 +49065241;Rolland;Pierre;2006-12-12;MIASHS;6 +49419581;Gilbert;Richard;2004-07-15;MIASHS;6 +49543356;Delmas;Gilles;2006-12-17;MIASHS;6 +49102569;Rocher;Victoire;2006-01-16;MIASHS;7 +49910070;Huet;Aimé;2006-08-25;MIASHS;7 +48708809;Vasseur;Gilles;2005-09-26;MIASHS;7 +49039981;Henry;Claude;2004-08-26;MI;12 +48236910;Delorme;Claire;2005-07-21;MI;12 +49513689;Gauthier;Élisabeth;2004-10-12;MI;12 +48123370;Torres;Alphonse;2005-07-07;MI;13 +49787309;Andre;Alice;2004-10-16;MI;13 +48612369;Pelletier;Claire;2006-05-09;MI;13 +49410715;Grondin;Olivier;2005-05-16;MI;15 +48826561;Perret;Alfred;2007-01-25;MI;15 +49205811;Lelièvre;Olivier;2005-12-24;MI;15 +48524936;Laporte;Alphonse;2006-08-24;MI;21 +48644957;Besson;Alfred;2005-03-25;MI;21 +48044917;Baudry;Claude;2006-04-22;MI;22 +49661734;Potier;Olivie;2006-04-21;MI;23 +48854236;Couturier;Claudine;2005-10-25;MI;23 +49860240;Charles;Olivie;2005-11-05;MI;23 +49851744;Guichard;Alphonse;2004-05-23;MI;24 +48076356;Dupré;Olivier;2004-10-08;PEIP;1 +49228342;Lefort;Alexandrie;2005-07-26;PEIP;1 +49357003;Poirier;Élise;2005-03-14;PEIP;2 +49112353;Thibault;Clémence;2006-02-15;PEIP;2 +48986081;Barbe;Alfred;2004-05-30;MIASHS;1 +48625105;Colas;Éléonore;2004-10-12;MIASHS;1 +48282523;Paul;Alexandre;2007-01-22;MIASHS;2 +48276771;Laporte;Alexandrie;2005-12-27;MIASHS;2 +48616493;Weiss;Éléonore;2007-01-24;MIASHS;3 +49721805;Bodin;Élodie;2006-11-02;MIASHS;3 +49261274;Vincent;Clémence;2004-07-27;MIASHS;3 +49481840;Blin;Alain;2004-02-24;MIASHS;4 +48942805;Vidal;Claire;2004-11-08;MIASHS;5 +49776796;Fernandez;Éléonore;2004-03-13;MIASHS;5 +48415104;Dias;Alphonse;2006-09-03;MIASHS;6 +48963377;Merle;Clémence;2006-01-15;MIASHS;6 +48543691;Loiseau;Alix;2004-12-28;MIASHS;6 +49165826;Mace;Alice;2006-03-16;MIASHS;6 +48048199;Da Silva;Olivier;2005-03-19;MIASHS;7 +48498818;Adam;Emmanuelle;2005-11-22;MI;11 +49128966;Descamps;Émile;2004-07-09;MI;11 +48572164;Collet;Emmanuel;2006-09-21;MI;11 +48414807;Lefebvre;Emmanuel;2005-06-06;MI;13 +49280836;Imbert;Émilie;2006-12-27;MI;14 +48518720;Leclerc;Amélie;2004-07-17;MI;22 +49337732;Vidal;Emmanuelle;2004-07-11;MI;23 +48619520;Gosselin;Émile;2005-10-12;MI;23 +49538719;François;Emmanuelle;2005-09-22;PEIP;1 +48269577;Bouvet;Émile;2004-11-30;PEIP;1 +48293695;Olivier;Émile;2005-02-18;PEIP;2 +48246161;Hubert;Amélie;2005-04-16;PEIP;3 +48224814;Lefebvre;Emmanuel;2007-01-03;PEIP;3 +48968935;Bouvier;Emmanuel;2006-02-09;MIASHS;3 +48310302;Verdier;Émile;2004-10-01;LICAM;1 +49094242;Blanchet;Inès;2006-01-03;MI;12 +49492457;Mahe;Antoinette;2004-09-25;MI;13 +49398195;Faivre;Inès;2004-11-06;MI;14 +48098984;Valentin;Antoine;2006-04-27;MI;15 +48819150;Barbier;André;2004-08-12;MI;15 +49331908;Arnaud;Anouk;2005-05-04;MI;15 +49053294;Picard;André;2006-11-02;MI;15 +48194488;Bazin;Inès;2005-10-25;MI;21 +49943212;Morel;Anouk;2005-09-20;MI;22 +49810037;Valentin;Inès;2005-07-09;MI;22 +49074662;Pruvost;Andrée;2005-07-24;MI;22 +49286080;Rey;Inès;2005-04-26;MI;23 +49310002;Moreau;Anastasie;2006-08-18;MI;23 +48727471;Denis;Antoine;2006-08-14;MI;24 +49431097;Legendre;André;2006-06-12;MI;24 +49302131;Ollivier;Antoinette;2007-01-16;MI;24 +48194378;Pasquier;Anaïs;2004-04-01;PEIP;1 +49193197;Jacob;Anne;2005-02-16;PEIP;1 +48933157;Bouchet;Antoinette;2005-09-05;MIASHS;1 +49050456;Leclerc;Inès;2005-09-17;MIASHS;1 +49921157;Benoit;Anne;2005-11-10;MIASHS;1 +49014483;Boutin;Antoine;2004-02-26;MIASHS;1 +49909483;Renault;Anouk;2005-03-27;MIASHS;2 +48364353;Tessier;André;2006-02-24;MIASHS;2 +49409175;Poulain;Anaïs;2006-09-16;MIASHS;3 +48360589;Mahe;Anouk;2005-07-24;MIASHS;4 +49248615;Blondel;Andrée;2004-10-28;MIASHS;5 +49291270;Durand;Inès;2006-08-13;MIASHS;5 +49503671;Leclercq;André;2006-03-11;MIASHS;5 +48725022;Barbe;Anastasie;2004-08-13;MIASHS;6 +48569861;Mallet;Antoinette;2006-09-03;MIASHS;7 +49393513;Dupuis;Anne;2004-08-29;LICAM;1 +48771321;Vaillant;Inès;2004-12-19;LICAM;1 +48315394;Barbe;Joséphine;2005-11-13;MI;11 +48372869;Bernard;Dominique;2005-06-26;MI;11 +49407477;Baudry;Robert;2006-08-15;MI;11 +48041155;Wagner;Joséphine;2006-10-24;MI;11 +49025652;Merle;Robert;2006-08-10;MI;12 +49333337;Blanchard;Dominique;2005-07-08;MI;12 +49546065;Ramos;Honoré;2006-12-18;MI;12 +49828461;Hubert;Dorothée;2006-11-15;MI;13 +49859270;Samson;Colette;2006-02-26;MI;13 +48354435;Marie;Joseph;2006-11-13;MI;13 +49140447;Bouvier;Dorothée;2006-07-09;MI;13 +48743541;Foucher;Zoé;2004-09-16;MI;13 +48743085;Renard;Honoré;2004-02-23;MI;14 +49320759;Ledoux;Josette;2006-03-21;MI;14 +48064265;Bonnet;Joseph;2004-07-21;MI;14 +49169058;Arnaud;Dorothée;2007-02-02;MI;14 +48374351;Fournier;Louis;2006-04-02;MI;14 +49613999;Masson;Corinne;2004-06-12;MI;15 +48727972;Étienne;Roland;2006-04-15;MI;15 +48465697;De Sousa;Constance;2005-03-13;MI;15 +48916237;Jean;Louise;2005-08-10;MI;22 +49249912;Vasseur;Josette;2004-02-16;MI;22 +49772841;Fernandez;Honoré;2005-11-11;MI;22 +48079107;Marty;Corinne;2004-03-31;MI;23 +48360831;Simon;Corinne;2004-12-13;MI;23 +49012082;Laroche;Robert;2004-04-09;MI;23 +48572666;Lebreton;Dorothée;2004-09-17;MI;24 +49995394;Lejeune;Louis;2005-09-10;PEIP;1 +49042171;Maurice;Noël;2004-10-01;PEIP;1 +49305449;Collet;Constance;2005-03-02;PEIP;2 +48610956;Bazin;Dominique;2004-12-30;PEIP;2 +49343813;Maillet;Colette;2004-11-03;PEIP;3 +48390498;Costa;Louis;2005-06-29;PEIP;3 +49484993;Blin;Joseph;2005-07-01;PEIP;3 +49465977;Gallet;Honoré;2004-10-21;PEIP;3 +48066077;Sauvage;Joséphine;2005-09-06;PEIP;3 +48790724;Gilles;Monique;2005-03-10;MIASHS;1 +48065086;Gérard;Roland;2004-02-20;MIASHS;1 +48764030;Berthelot;Dorothée;2004-03-29;MIASHS;1 +48921041;Bègue;Noël;2005-01-15;MIASHS;1 +49419564;Gay;Sophie;2006-01-22;MIASHS;2 +49737763;Mallet;Noémi;2004-12-30;MIASHS;2 +49575769;Colas;Joseph;2004-10-26;MIASHS;2 +49877276;Dupuy;Lorraine;2006-10-27;MIASHS;2 +49931124;Vallée;Dorothée;2006-04-14;MIASHS;3 +49165955;Georges;Louis;2005-12-20;MIASHS;3 +48030093;Boutin;Roger;2005-03-29;MIASHS;3 +48250699;Labbé;Joseph;2004-09-29;MIASHS;4 +49958185;Raynaud;Louise;2006-11-27;MIASHS;4 +48725911;Jean;Louise;2005-12-02;MIASHS;4 +49281635;Techer;Constance;2005-07-25;MIASHS;4 +48976583;Millet;Robert;2004-02-10;MIASHS;5 +49166389;Gallet;Roger;2005-12-05;MIASHS;5 +48092805;Bouvet;Roger;2005-07-24;MIASHS;5 +49099719;Buisson;Roland;2005-02-14;MIASHS;6 +49968517;Munoz;Corinne;2004-03-06;MIASHS;6 +49390103;Perret;Noël;2005-01-06;MIASHS;7 +49976696;Pottier;Louis;2004-10-14;MIASHS;7 +48410392;Guérin;Dorothée;2005-04-07;MIASHS;7 +48289507;Fleury;Hortense;2005-02-23;LICAM;1 +49857513;De Oliveira;Frédérique;2006-06-21;MI;13 +49433716;Sauvage;Arnaude;2005-12-09;MI;14 +49986252;Neveu;Arnaude;2006-04-20;MI;14 +48098172;Traore;Grégoire;2005-10-07;MI;14 +49243418;Picard;Arthur;2005-05-24;MI;14 +48980032;Caron;Arnaude;2005-07-16;MI;15 +48385437;Germain;Frédéric;2004-02-09;MI;21 +48962661;Denis;Frédéric;2004-02-25;MI;22 +48102255;Lopez;Grégoire;2004-08-22;MI;22 +48685914;Pottier;Arthur;2004-04-18;MI;22 +49817939;Lefort;Arnaude;2005-11-21;MI;23 +48997921;Merle;Franck;2006-01-02;MI;23 +48036970;Costa;Françoise;2006-08-19;MI;23 +49690621;Leclerc;Arthur;2004-07-18;MI;24 +49399873;Georges;Frédérique;2004-06-12;MI;24 +48398113;Bertrand;Brigitte;2005-10-16;MI;24 +48047711;Lejeune;Franck;2006-09-07;MIASHS;1 +49474760;Roy;Éric;2005-03-31;MIASHS;2 +49106757;Lemonnier;François;2005-02-22;MIASHS;2 +48918826;Costa;Arnaude;2004-06-07;MIASHS;2 +48860640;Clerc;Arthur;2005-07-03;MIASHS;3 +49938930;Gaillard;Françoise;2006-07-03;MIASHS;3 +49878160;Vidal;Françoise;2006-10-16;MIASHS;4 +48413547;Meyer;Frédéric;2005-03-03;MIASHS;5 +48832278;Lemaître;Éric;2006-12-07;MIASHS;5 +48612266;Traore;Arthur;2004-12-22;MIASHS;6 +48920229;Baudry;Franck;2004-06-11;MIASHS;6 +48679708;Rousseau;Arthur;2005-10-29;MIASHS;7 +49873065;Boulanger;Brigitte;2004-10-30;MIASHS;7 +48760947;Bonnet;Grégoire;2006-04-21;LICAM;1 +49606462;Dias;Isabelle;2004-07-31;MI;11 +48038103;Verdier;Isaac;2006-08-06;MI;11 +48456198;Paris;Isaac;2005-07-14;MI;12 +49148655;De Oliveira;Isabelle;2004-06-01;MI;13 +48617264;Chevallier;Astrid;2005-05-04;MI;21 +48815743;Robert;Isaac;2004-10-08;MI;21 +49296767;Marty;Isaac;2004-05-29;MI;22 +48036851;Millet;Isabelle;2006-06-04;PEIP;1 +49754880;Legendre;Isaac;2005-05-10;MIASHS;2 +49773672;Mathieu;Astrid;2006-05-03;MIASHS;5 +48635844;Hardy;Isaac;2005-09-06;MIASHS;5 +48575357;Le Gall;Stéphane;2006-08-30;MI;12 +49278499;Boucher;Étienne;2006-03-20;MI;15 +49801751;Bertin;Étienne;2005-12-09;MI;22 +49535636;Chauvin;Stéphanie;2007-02-01;PEIP;3 +49963316;Petit;Stéphane;2006-02-03;MIASHS;1 +49194569;Hebert;Stéphanie;2006-08-15;MIASHS;3 +48395553;Lemaître;Stéphanie;2007-01-13;MIASHS;6 +48031169;Brun;Augustin;2006-12-27;MI;11 +48547533;Guibert;Luce;2006-05-01;MI;11 +48717052;Besson;Suzanne;2006-03-13;MI;11 +49410320;Collet;Eugène;2004-04-08;MI;11 +49640970;Gomes;Hugues;2006-02-11;MI;12 +48447250;Delaunay;Julien;2004-06-12;MI;12 +48847624;Delannoy;Luce;2006-12-07;MI;12 +49301141;Gautier;Suzanne;2005-09-15;MI;12 +48698282;Perrin;Eugène;2004-02-07;MI;12 +48805628;Rey;Julie;2005-09-01;MI;13 +48950318;Bonnet;Julien;2006-09-18;MI;13 +49840057;Petitjean;Suzanne;2005-09-22;MI;14 +48963709;Boulay;Guillaume;2005-09-05;MI;14 +49763993;Chevallier;Lucas;2004-11-04;MI;14 +49854638;Fabre;Jules;2004-09-13;MI;14 +49047337;Valette;Lucas;2005-07-06;MI;14 +48899378;Dupuis;Julien;2005-07-14;MI;14 +49648868;Michel;Guillaume;2004-04-04;MI;15 +48104375;Breton;Lucas;2004-04-11;MI;15 +48495920;Roy;Luc;2006-02-19;MI;15 +48762172;Bègue;Eugène;2006-02-04;MI;21 +48219548;Brunel;Suzanne;2005-12-31;MI;21 +48047365;Baudry;Luc;2005-10-10;MI;22 +49200531;Blanc;Lucas;2004-04-06;MI;22 +48652952;Gautier;Susan;2004-11-09;MI;23 +49161546;Lejeune;Luce;2004-02-22;MI;24 +49239388;Thomas;Hugues;2006-10-24;MI;24 +49787033;Chrétien;Jules;2004-11-16;MI;24 +49976882;Hardy;Audrey;2005-04-10;MI;24 +49245019;Thibault;Julie;2006-05-06;PEIP;1 +48556681;Étienne;Lucy;2006-02-27;PEIP;1 +49648375;Auger;Susan;2005-05-13;PEIP;1 +49871300;Arnaud;Guillaume;2005-02-13;PEIP;2 +49394612;Vincent;Auguste;2004-09-17;PEIP;2 +48748008;Sanchez;Aurélie;2006-01-18;PEIP;3 +48736976;Meyer;Eugène;2005-12-19;MIASHS;1 +48071954;Guillot;Eugène;2006-08-14;MIASHS;1 +49926329;Guillou;Eugène;2004-10-09;MIASHS;2 +49190771;Blin;Lucas;2005-11-20;MIASHS;2 +49780701;Teixeira;Guy;2006-07-28;MIASHS;2 +49010195;Normand;Aurore;2006-12-21;MIASHS;2 +49370759;Charpentier;Hugues;2006-08-25;MIASHS;3 +48583893;Navarro;Suzanne;2005-10-07;MIASHS;4 +49953685;Martin;Auguste;2005-06-01;MIASHS;4 +48964722;Merle;Lucie;2004-12-15;MIASHS;4 +49762099;Le Gall;Hugues;2006-01-01;MIASHS;4 +48976397;Gosselin;Eugène;2006-04-30;MIASHS;5 +48432908;Hernandez;Julien;2004-12-14;MIASHS;5 +48676920;Didier;Suzanne;2005-03-05;MIASHS;5 +48488578;Bazin;Suzanne;2006-01-21;MIASHS;5 +49650088;Diallo;Susanne;2006-01-20;MIASHS;5 +48674749;Mendès;Guillaume;2006-11-26;MIASHS;6 +49326039;Vaillant;Susanne;2006-01-27;MIASHS;6 +49507651;Lelièvre;Guillaume;2005-08-30;MIASHS;6 +49981665;Maillard;Auguste;2006-12-29;MIASHS;6 +48583896;Lefort;Juliette;2005-03-20;MIASHS;6 +48502816;Hardy;Aurore;2005-07-07;MIASHS;7 +49285383;Schmitt;Lucas;2004-04-18;MIASHS;7 +49698684;Lemaître;Julie;2006-12-27;MIASHS;7 +48532018;Barthelemy;Susanne;2004-11-03;MIASHS;7 +49651032;Da Silva;Suzanne;2004-12-30;LICAM;1 +49401175;Hervé;Lucas;2005-02-01;LICAM;1 +49429809;Ferrand;Lucas;2005-10-19;LICAM;1 +49421098;Costa;Léon;2006-12-24;MI;11 +49863015;Lévêque;Véronique;2006-02-03;MI;12 +49202011;Martin;Gérard;2006-06-05;MI;12 +49298382;Michaud;Cécile;2005-06-16;MI;12 +49380003;Guillet;Cécile;2006-12-31;MI;13 +49402564;Seguin;Célina;2005-06-10;MI;14 +48579445;Meunier;Jérôme;2006-06-09;MI;15 +49458368;Valentin;Jérôme;2006-12-01;MI;15 +48575120;Carpentier;Gérard;2006-11-08;MI;15 +49051125;Gallet;Rémy;2004-11-26;MI;21 +49272992;Chevalier;Jérôme;2005-10-18;MI;21 +48642327;Grondin;Sébastien;2006-07-26;MI;21 +49198512;Collin;Sébastien;2006-11-18;MI;22 +48315819;Allard;Cécile;2005-03-21;MI;22 +48639997;Normand;Célina;2004-04-23;MI;22 +49735241;Fournier;Gérard;2005-05-29;MI;22 +49569773;Thomas;Pénélope;2004-04-06;MI;23 +49953153;Allain;Rémy;2004-06-25;MI;24 +49248879;Grenier;Sébastien;2004-05-24;MI;24 +49885170;Meunier;Pénélope;2004-09-07;MI;24 +49618335;Bousquet;Célina;2005-12-19;PEIP;1 +49040164;Gillet;Céline;2004-12-06;PEIP;1 +48369100;Vallée;Rémy;2005-11-23;PEIP;2 +49649794;Marchal;Hélène;2006-09-10;PEIP;2 +48470875;Renault;Célina;2004-02-06;PEIP;3 +49085465;Peltier;Cécile;2006-03-23;MIASHS;1 +49300474;Gillet;Céline;2006-01-27;MIASHS;1 +48085754;Fernandes;Rémy;2006-06-22;MIASHS;1 +49400255;Gonzalez;Hélène;2006-02-14;MIASHS;1 +49211264;Poulain;Jérôme;2005-09-07;MIASHS;1 +49710675;Blanchard;Léon;2006-05-28;MIASHS;2 +48825409;Alexandre;Léon;2005-07-25;MIASHS;2 +49278797;Bailly;Hélène;2004-10-14;MIASHS;2 +49108520;Maillard;Sébastien;2004-04-19;MIASHS;3 +49127699;Delorme;Léon;2005-08-15;MIASHS;4 +48711456;Vincent;Véronique;2006-06-07;MIASHS;5 +49950372;Boulay;Cécile;2004-04-07;MIASHS;5 +48273478;Leduc;Céline;2004-06-27;MIASHS;6 +49938916;Moulin;Cécile;2005-02-08;MIASHS;7 +49161328;Godard;Léon;2004-12-30;MIASHS;7 +49355766;Klein;Gérard;2006-02-26;MIASHS;7 +48868115;Brunel;Léon;2005-11-25;MIASHS;7 +48338949;Fernandes;Céline;2006-08-28;LICAM;1 +49807421;Mendès;Pénélope;2005-08-25;LICAM;1 +49486952;Benard;Cécile;2004-07-20;LICAM;1 diff --git a/tp4/gestion_promo_etu.py b/tp4/gestion_promo_etu.py new file mode 100644 index 0000000..fb7cf7e --- /dev/null +++ b/tp4/gestion_promo_etu.py @@ -0,0 +1,229 @@ + + + + +def pour_tous(seq_bool:list[bool])->bool: + + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ pour_tous([]) + True + $$$ pour_tous([True, True, True]) + True + $$$ pour_tous([True, True, False]) + False + """ + if False in seq_bool: + return False + return True + + +def il_existe(seq_bool:list[bool])->bool: + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ il_existe([]) + False + $$$ il_existe([False, True, False]) + True + $$$ il_existe([False, False]) + False + + """ + if True in seq_bool: + return True + return False + +from date import Date + +from etudiant import Etudiant + +def charge_fichier_etudiants(fname: str) -> list[Etudiant]: + """ + Renvoie la liste des étudiants présents dans le fichier dont + le nom est donné en paramètre. + + précondition: le fichier est du bon format. + """ + res = [] + with open(fname, 'r') as fin: + fin.readline() + ligne = fin.readline() + while ligne != '': + nip, nom, prenom, naissance, formation, groupe = ligne.strip().split(';') + y, m, d = naissance.split('-') + date_naiss = Date(int(d.lstrip('0')), int(m.lstrip('0')), int(y)) + res.append(Etudiant(int(nip), nom, prenom, date_naiss, formation, groupe)) + ligne = fin.readline() + return res + +L_ETUDIANTS = charge_fichier_etudiants('etudiants.csv') +COURTE_LISTE = L_ETUDIANTS[0:11] + +def est_liste_d_etudiants(x) -> bool: + """ + Renvoie True si ``x`` est une liste de d'étudiant, False dans le cas contraire. + + Précondition: aucune + + Exemples: + + $$$ est_liste_d_etudiants(COURTE_LISTE) + True + $$$ est_liste_d_etudiants("Timoleon") + False + $$$ est_liste_d_etudiants([('12345678', 'Calbuth', 'Raymond', 'Danse', '12') ]) + False + """ + for elt in x: + if not(isinstance(elt, Etudiant)): + return False + return True + + +#c'est Etudiant(49801751, 'Bertin', 'Étienne', Date(9, 12, 2005), 'MI', '22') + +def ensemble_des_formations(liste: list[Etudiant]) -> set[str]: + """ + Renvoie un ensemble de chaînes de caractères donnant les formations + présentes dans les fiches d'étudiants + + Précondition: liste ne contient que des fiches d'étudiants + + Exemples: + + $$$ ensemble_des_formations(COURTE_LISTE) + {'MI', 'PEIP', 'MIASHS', 'LICAM'} + $$$ ensemble_des_formations(COURTE_LISTE[0:2]) + {'MI', 'MIASHS'} + """ + + ens = set() + for etudiant in liste: + ens.add(etudiant.formation) + return ens + +def nom_pas_judicieux(liste): + """ renvoie le nombre de fois qu'un nom se repetent + + Précondition : + Exemple(s) : + $$$ + """ + + res = {} + for etud in liste: + prenom = etud.prenom + if prenom in res: + res[prenom] = res[prenom] + 1 + else: + res[prenom] = 1 + + return res + + +# 1) +res = nom_pas_judicieux(L_ETUDIANTS) +res['Alexandre'] +# il y'a un Alexandre +# il y'a pas de Camille +# cette fonction necessite 603 parcours +# il y'a 201 prenom differents parmis tous les etudiants +# ces prenoms sont Cécile , Benoît + +def frequent(dico): + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + """ + nb_max = 0 + liste = [] + + for nom, val in dico.items(): + if val > nb_max: + nb_max = val + liste = [nom] + elif val == nb_max: + liste.append(nom) + + return liste + +print(frequent(res)) + +def occurrences_nip(etudiants:list)->bool: + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + """ + nips = [] + for etudiant in etudiants: + if etudiant.nip in nips: + return False + nips.append(etudiant.nip) + return True + + +def etu_formation(liste:list[Etudiant])->dict: + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + """ + dico={} + for etudiant in liste: + if etudiant.formation in liste: + dico[etudiant.formation]+=1 + else: + dico[etudiant.formation] = 1 + return dico + +print(etu_formation(L_ETUDIANTS)) + +def liste_formation(liste: list[Etudiant], form: str) -> list[Etudiant]: + """ + Renvoie la liste des étudiants de la formation ``form`` + + Précondition: liste ne contient que des fiches d'étudiants + + Exemples: + + $$$ l_MI = liste_formation(COURTE_LISTE, 'MI') + $$$ len(l_MI) + 7 + $$$ type(l_MI[1]) == Etudiant + True + $$$ len(liste_formation(L_ETUDIANTS, 'INFO')) + 0 + """ + res = [] + for etudiant in liste: + if etudiant.formation == form: + if not(etudiant in res): + res.append(etudiant) + return res + + +if __name__ == '__main__': + # éxécuté qd ce module n'est pas initialisé par un import. + L_ETUDIANTS = charge_fichier_etudiants('etudiants.csv') + COURTE_LISTE = L_ETUDIANTS[0:10] + NBRE_ETUDIANTS = len(L_ETUDIANTS) +# il y'a 603 etudiants dans L_ETUDIANTS + NIP = 42425158 + + + + + + + + + \ No newline at end of file -- GitLab