Sommaire du parcours
1.Premiers pas
2.Textes et saisie
3.Conditions
4.Boucles
5.Listes et dictionnaires
6.Fonctions et projet
Module 6Fonctions et projet
Mini-projet : le bulletin de notes
Combinez listes, boucles, conditions et fonctions pour écrire un vrai petit programme.
- 20 min
- 3 étapes
- 2 exercices
Le cahier des charges
Vous allez écrire un programme qui analyse les notes d’un élève : sa moyenne, sa mention et le nombre de notes au-dessus de la moyenne. Plutôt que de tout écrire d’un bloc, on découpe le problème en petites fonctions. Voici la première pièce : la liste des notes, et une fonction qui calcule leur moyenne.
notes = [14, 9, 16, 12, 18, 11]
def moyenne(liste):
return sum(liste) / len(liste)
print("Moyenne :", round(moyenne(notes), 2))Cliquez sur « Exécuter » pour voir le résultat ici.
Choisir la mention
Deuxième pièce : une fonction qui transforme une moyenne en mention, grâce à if, elif et else. Testez-la avec plusieurs valeurs pour vérifier chaque cas avant d’aller plus loin.
def mention(valeur):
if valeur >= 16:
return "Très bien"
elif valeur >= 14:
return "Bien"
elif valeur >= 12:
return "Assez bien"
elif valeur >= 10:
return "Passable"
else:
return "Insuffisant"
print(mention(17))
print(mention(13.3))
print(mention(8))Cliquez sur « Exécuter » pour voir le résultat ici.
Tout assembler
Dernière étape : on assemble les pièces. Une boucle compte les notes au-dessus de la moyenne, et des f-strings présentent le bulletin. Modifiez la liste des notes, relancez, et regardez le bulletin s’adapter tout seul.
notes = [14, 9, 16, 12, 18, 11]
def moyenne(liste):
return sum(liste) / len(liste)
def mention(valeur):
if valeur >= 16:
return "Très bien"
elif valeur >= 14:
return "Bien"
elif valeur >= 12:
return "Assez bien"
elif valeur >= 10:
return "Passable"
return "Insuffisant"
m = moyenne(notes)
au_dessus = 0
for note in notes:
if note > m:
au_dessus = au_dessus + 1
print("=== Bulletin ===")
print(f"Moyenne : {round(m, 2)} / 20")
print(f"Mention : {mention(m)}")
print(f"{au_dessus} notes sur {len(notes)} au-dessus de la moyenne")Cliquez sur « Exécuter » pour voir le résultat ici.
À vous de jouer
Exercices
0 sur 2 réussi
Exercice 1
L’écart entre les notes
Écrivez la fonction ecart : elle reçoit une liste de notes et renvoie la différence entre la meilleure et la moins bonne note.
Résultat attendu
9
def ecart(liste):
# Renvoyez la meilleure note moins la moins bonne
pass
print(ecart([14, 9, 16, 12, 18, 11]))Écrivez votre code, puis cliquez sur « Vérifier ma réponse ».
Exercice 2
Compter les notes admises
Complétez la fonction nombre_admis : elle reçoit une liste de notes et renvoie combien sont supérieures ou égales à 10. Utilisez une boucle et le compteur.
Résultat attendu
5
def nombre_admis(liste):
compteur = 0
# Parcourez la liste et comptez les notes de 10 ou plus
return compteur
print(nombre_admis([14, 9, 16, 12, 18, 11, 7]))Écrivez votre code, puis cliquez sur « Vérifier ma réponse ».
Prêt pour la suite ?
Réussissez les exercices ci-dessus, ou marquez la leçon comme terminée quand vous le souhaitez.