0% ont trouvé ce document utile (0 vote)
14 vues2 pages

Fonctions Lambda pour gérer les employés

Le document présente un exercice de programmation en utilisant des fonctions Lambda pour manipuler une liste de données personnelles d'employés d'une entreprise. Il demande de créer des fonctions pour filtrer, compter et calculer des statistiques sur les employés en fonction de leur type, de leurs villes d'intervention et de leur âge. Les résultats attendus incluent des listes d'employés, des comptages et des moyennes d'âge par ville.

Transféré par

abouqora
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues2 pages

Fonctions Lambda pour gérer les employés

Le document présente un exercice de programmation en utilisant des fonctions Lambda pour manipuler une liste de données personnelles d'employés d'une entreprise. Il demande de créer des fonctions pour filtrer, compter et calculer des statistiques sur les employés en fonction de leur type, de leurs villes d'intervention et de leur âge. Les résultats attendus incluent des listes d'employés, des comptages et des moyennes d'âge par ville.

Transféré par

abouqora
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exercice 1 :

Étant donnée la liste suivante représentant les données personnelles des


employés d'une entreprise ainsi que leurs villes d'intervention :
personnes = [
{ " type ": 'user ', " nom ": 'Max Mustermann ', " age ": 25, " villes ": ['Marseille ', 'Lyon ', 'Paris '] },
{ " type ": 'admin ', " nom ": 'John Wick ', "age": 45, " villes ": ['Paris '] },
{ " type ": 'user ', " nom ": 'Kate Muller ', " age": 23, " villes ": ['Nantes ', 'Lyon ', 'Lille ', 'Nice '] },
{ " type ": 'admin ', " nom ": 'Bruce Willis ', " age ": 64, " villes ": ['Paris ', 'Nantes '] },
{ " type ": 'user ', " nom ": 'Jack Wilson ', " age": 35, " villes ": ['Marseille ', 'Lyon ', 'Montpellier '] },
{ " type ": 'admin ', " nom ": 'Carol Smith ', " age": 23, " villes ": ['Marseille ', 'Nice ', 'Montpellier '] }
];
Répondez aux questions suivantes en utilisant map, filter et reduce.
1. Écrivez une fonction Lambda get by type (type: str) -> Iterable: qui retourne la
liste des personnes selon le type passée en paramètre.
2. Écrivez une fonction Lambda get by ville (ville: str) -> Iterable: qui
retourne la liste des personnes ayant dans villes la ville passée en
paramètre.
3. Écrivez une fonction Lambda get other ville than(ville: str) -> Iterable: qui
retourne la liste des personnes n'ayant pas dans villes la ville pass_ee en
param_etre.
4. Écrivez une fonction Lambda count villes() -> Iterable: qui retourne un
tableau d'objets : chaque objet contient le nom d'une personne ainsi que le
nombre d'_el_ements dans la liste
villes (voir ci-dessous).
[
{'nom ': 'Max Mustermann ', 'nbrVilles ': 3},
{'nom ': 'John Wick ', 'nbrVilles ': 1},
{'nom ': 'Kate Muller ', 'nbrVilles ': 4},
{'nom ': 'Bruce Willis ', 'nbrVilles ': 2},
{'nom ': 'Jack Wilson ', 'nbrVilles ': 3},
{'nom ': 'Carol Smith ', 'nbrVilles ': 3}
]
5. Écrivez une fonction Lambda get by villes number(nbr: int) -> Iterable: qui
retourne les nom des personnes dont le nombre de villes d'intervention
correspond au param_etre nbr.
6. Écrivez une fonction Lambda count character in villes() -> Iterable: qui
retourne un tableau d'objets : chaque objet contient le nom d'une personne
ainsi que le nombre total de
caractères de ses villes (voir ci-dessous).
[
{'nom ': 'Max Mustermann ', 'total ': 18} ,

1
{'nom ': 'John Wick ', 'total ': 5},
{'nom ': 'Kate Muller ', 'total ': 19} ,
{'nom ': 'Bruce Willis ', 'total ': 11} ,
{'nom ': 'Jack Wilson ', 'total ': 24} ,
{'nom ': 'Carol Smith ', 'total ': 24}
]
7. Écrivez une fonction Lambda count by ville(ville: str) -> int: qui retourne le
nombre de personnes qui interviennent dans la ville pass_ee en param_etre
(ici c'est 3 pour Marseille
par exemple).
8. Écrivez une fonction Lambda find having max ville() -> int: qui permet de
retourner le nombre max de villes d'intervention qu'un employ_e a pu avoir
(ici c'est 4).
9. Écrivez une fonction Lambda get all villes() -> Iterable: qui permet de
retourner un tableau de toutes les villes (sans doublons).
10. Écrivez une fonction Lambda get avg age(ville: str) -> int: qui retourne la
moyenne d'age (d'employ_es) de la ville pass_ee en param_etre.
11. Écrivez une fonction Lambda get avg age by ville() -> Iterable: qui
retourne la moyenne d'age de chaque ville d'intervention sous forme d'un
tableau d'objet.
[
{'ville ': 'Marseille ', 'moyenneAge ': 27.666666666666668} ,
{'ville ': 'Lyon ', 'moyenneAge ': 27.666666666666668} ,
{'ville ': 'Paris ', 'moyenneAge ': 44.666666666666664} ,
{'ville ': 'Nantes ', 'moyenneAge ': 43.5} ,
{'ville ': 'Lille ', 'moyenneAge ': 23.0} ,
{'ville ': 'Nice ', 'moyenneAge ': 23.0} ,
{'ville ': ' Montpellier ', 'moyenneAge ': 29.0}
]
12. Écrivez une fonction Lambda get younger by ville() -> Iterable: qui
retourne l'age de la personne la plus jeune par ville (voir ci-dessous).
[
{'ville ': 'Marseille ', ' plusJeuneAge ': 23} ,
{'ville ': 'Lyon ', ' plusJeuneAge ': 23} ,
{'ville ': 'Paris ', ' plusJeuneAge ': 25} ,
{'ville ': 'Nantes ', ' plusJeuneAge ': 23} ,
{'ville ': 'Lille ', ' plusJeuneAge ': 23} ,
{'ville ': 'Nice ', ' plusJeuneAge ': 23} ,
{'ville ': ' Montpellier ', ' plusJeuneAge ': 23}
]

Vous aimerez peut-être aussi