Aller au contenu
Sommaire du parcours

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.

etape_1.py
notes = [14, 9, 16, 12, 18, 11]

def moyenne(liste):
    return sum(liste) / len(liste)

print("Moyenne :", round(moyenne(notes), 2))
Python 3
Console

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.

etape_2.py
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))
Python 3
Console

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.

etape_3.py
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")
Python 3
Console

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
exercice_1.pyPython 3
def ecart(liste):
    # Renvoyez la meilleure note moins la moins bonne
    pass

print(ecart([14, 9, 16, 12, 18, 11]))
Console

É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
exercice_2.pyPython 3
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]))
Console

É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.

Made with Modulify