Exercice 42
Créer une fonction en Python qui prends en entrée un dictionnaire dont les clés sont les noms des élèves et dont les valeurs associées sont les listes des notes obtenus et qui renvoie un autre dictionnaire en remplaçant les listes des notes par leurs moyennes et en ajoutant à la liste le résultat : "Admis" ou "Non Admis" selon la moyenne >= 10 ou non.
Exemple pour le dictionnaire suivant:
1 2 3 |
dictionnaire_etudiants = {"Adam": [14, 16, 11], "Najat": [15, 13, 14], "Rachid": [11, 7, 10], "Alberto": [10, 14, 17], "Hafid": [14, 12, 15]} |
La fonction renvoie le dictionnaire:
1 2 3 4 5 |
{'Adam': {'notes': [14, 16, 11], 'moyenne': 13.67, 'statut': 'Admis'}, 'Najat': {'notes': [15, 13, 14], 'moyenne': 14.0, 'statut': 'Admis'}, 'Rachid': {'notes': [11, 7, 10], 'moyenne': 9.33, 'statut': 'Non Admis'}, 'Alberto': {'notes': [10, 14, 17], 'moyenne': 13.67, 'statut': 'Admis'}, 'Hafid': {'notes': [14, 12, 15], 'moyenne': 13.67, 'statut': 'Admis'}} |
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
def calculer_moyennes_et_statut(dictionnaire_etudiants): resultat = {} for eleve, notes in dictionnaire_etudiants.items(): moyenne = sum(notes) / len(notes) moyenne = round(moyenne , 2) statut = "Admis" if moyenne >= 10 else "Non Admis" resultat[eleve] = {"notes": notes, "moyenne": moyenne, "statut": statut} return resultat # Exemple d'utilisation avec le dictionnaire fourni : dictionnaire_etudiants = {"Adam": [14, 16, 11], "Najat": [15, 13, 14], "Rachid": [11, 7, 10], "Alberto": [10, 14, 17], "Hafid": [14, 12, 15]} resultat_final = calculer_moyennes_et_statut(dictionnaire_etudiants) print(resultat_final) """ output: {'Adam': {'notes': [14, 16, 11], 'moyenne': 13.67, 'statut': 'Admis'}, 'Najat': {'notes': [15, 13, 14], 'moyenne': 14.0, 'statut': 'Admis'}, 'Rachid': {'notes': [11, 7, 10], 'moyenne': 9.33, 'statut': 'Non Admis'}, 'Alberto': {'notes': [10, 14, 17], 'moyenne': 13.67, 'statut': 'Admis'}, 'Hafid': {'notes': [14, 12, 15], 'moyenne': 13.67, 'statut': 'Admis'}} """ |
Younes Derfoufi
CRMEF OUJDA