Énoncé de l'exercice

Un professeur souhaite calculer la note finale d’un étudiant en tenant compte d’un bonus spécial selon ses résultats.
Écris un programme qui demande à l’utilisateur de saisir la note sur 20 de l’étudiant, puis affiche la note finale après application des règles suivantes :
- Si la note est inférieure à 10, pas de bonus.
- Si la note est entre 10 et 15, ajouter 1 point de bonus.
- Si la note est supérieure à 15, ajouter 2 points de bonus, mais la note finale ne peut pas dépasser 20.
Le programme doit aussi vérifier que la note saisie est comprise entre 0 et 20, sinon afficher : "Erreur : note invalide."

Solution proposée

# On demande à l'utilisateur de saisir la note de l'étudiant
note = float(input("Entrez la note de l'étudiant : "))

# On vérifie d'abord si la note est valide
if note < 0 or note > 20:
    print("Erreur : note invalide.")
# Si la note est inférieure à 10, pas de bonus
elif note < 10:
    print(f"Note finale : {note}")
# Si la note est entre 10 et 15, ajouter 1 point de bonus
elif note <= 15:
    note_finale = note + 1
    print(f"Note finale : {note_finale}")
# Si la note est supérieure à 15, ajouter 2 points, mais ne pas dépasser 20
else:
    note_finale = note + 2
    if note_finale > 20:
        note_finale = 20
    print(f"Note finale : {note_finale}")