Projet : analyser les notes d'une classe
Les raccourcis de Python
Tu as appris à tout calculer à la main avec des boucles. C'était indispensable pour comprendre. Maintenant que tu sais ce qu'elles font, voici les fonctions toutes prêtes de Python, à utiliser au quotidien :
| Fonction | Résultat | Exemple avec n = [12, 8, 15] |
|---|---|---|
sum(n) |
la somme | 35 |
max(n) |
le plus grand | 15 |
min(n) |
le plus petit | 8 |
len(n) |
le nombre d'éléments | 3 |
sorted(n) |
une nouvelle liste triée | [8, 12, 15] |
sorted(n, reverse=True) |
triée du plus grand au plus petit | [15, 12, 8] |
n.count(12) |
combien de fois 12 apparaît | 1 |
Avec ça, la moyenne tient en une ligne : sum(n) / len(n).
Les raccourcis en action
Lance, puis change les notes et relance.
notes = [12, 8, 15, 9.5, 17, 11]
print("Nombre de notes :", len(notes))
print("Moyenne :", round(sum(notes) / len(notes), 2))
print("Meilleure :", max(notes))
print("Plus basse :", min(notes))
print("Triées :", sorted(notes))
print("Top 3 :", sorted(notes, reverse=True)[:3])
Le projet
Tu vas écrire un vrai petit programme d'analyse, comme le ferait un data analyst sur un tableau de notes. Il y a deux listes parallèles :
eleves = ["Awa", "Boris", "Chantal", "Didier", "Esther"]
notes = [14, 8.5, 17, 11, 9]
Tu vas construire le rapport en plusieurs exercices : statistiques générales, la liste des élèves en difficulté, puis le nom du major de la classe. Chaque exercice est indépendant, et chacun est testé sur d'autres classes que celle de l'énoncé.
Plus tard, tu verras les dictionnaires, qui rangent ce genre de données plus proprement, puis pandas, qui fait tout ça sur des millions de lignes.
Exercice : 1. Les statistiques
Calcule :
moyenne: la moyenne des notes, arrondie à 2 chiffres ;ecart: l'écart entre la meilleure et la plus basse note.
Puis affiche Moyenne : ... | Écart : .... Tu peux utiliser sum, len, max, min.
Voir une solution
notes = [14, 8.5, 17, 11, 9] # donné
moyenne = round(sum(notes) / len(notes), 2)
ecart = max(notes) - min(notes)
print(f"Moyenne : {moyenne} | Écart : {ecart}")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : 2. Les élèves en difficulté
Construis la liste en_difficulte des noms des élèves qui ont moins de 10, dans l'ordre de la liste.
Comme les listes sont parallèles, il faut parcourir les index : for i in range(len(eleves)):, puis utiliser eleves[i] et notes[i].
Voir une solution
eleves = ["Awa", "Boris", "Chantal", "Didier", "Esther"] # donné
notes = [14, 8.5, 17, 11, 9] # donné
en_difficulte = []
for i in range(len(eleves)):
if notes[i] < 10:
en_difficulte.append(eleves[i])Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : 3. Le major de la classe
Range dans major le nom de l'élève qui a la meilleure note. max(notes) donne la note, mais pas le nom : il faut retrouver sa position.
Indice : les listes ont une méthode .index(valeur) qui donne la position de la première occurrence d'une valeur. Puis affiche Major : ... avec ....
Voir une solution
eleves = ["Awa", "Boris", "Chantal", "Didier", "Esther"] # donné
notes = [14, 8.5, 17, 11, 9] # donné
meilleure = max(notes)
position = notes.index(meilleure)
major = eleves[position]
print(f"Major : {major} avec {meilleure}")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : 4. Le bulletin complet
Assemble tout. Affiche, pour chaque élève, une ligne avec son nom, sa note et sa mention (« Admis » si au moins 10, « Recalé » sinon), puis le taux de réussite en pourcentage, arrondi à l'entier :
Awa : 14 (Admis)
Boris : 8.5 (Recalé)
Chantal : 17 (Admis)
Didier : 11 (Admis)
Esther : 9 (Recalé)
Taux de réussite : 60 %
Voir une solution
eleves = ["Awa", "Boris", "Chantal", "Didier", "Esther"] # donné
notes = [14, 8.5, 17, 11, 9] # donné
admis = 0
for eleve, note in zip(eleves, notes):
if note >= 10:
mention = "Admis"
admis += 1
else:
mention = "Recalé"
print(f"{eleve} : {note} ({mention})")
taux = round(admis / len(eleves) * 100)
print(f"Taux de réussite : {taux} %")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice