Python 6.6 : Exercice : Conditions
Dans cet exercice Python, nous mettons en pratique les conditions if / elif / else en évaluant la performance de l'utilisateur dans notre questionnaire. L'objectif est de comparer le nombre de points obtenus au nombre total de questions et d'afficher un message d'évaluation adapté à la note finale. C'est une excellente occasion de manipuler les opérateurs de comparaison et la conversion de type.
Logique d'évaluation
- Si nb_points == nombre_questions : afficher « excellent ».
- Si nb_points == 0 : afficher « vous devez réviser vos mathématiques ».
- Calculer la moyenne avec int(nombre_questions / 2).
- Si nb_points > moyenne : « pas mal ». Sinon : « peut mieux faire ».
La moyenne est obtenue en divisant le nombre de questions par 2, puis en convertissant le résultat en entier avec int() car la division produit un float (par exemple 2.5 pour 5 questions). La correction utilise donc une cascade de conditions if / elif / else qui couvre les quatre cas. Voici le code de correction proposé.
if nb_points == nombre_questions:
print("Excellent")
elif nb_points == 0:
print("Vous devez réviser vos maths")
else:
moyenne = int(nombre_questions / 2)
if nb_points > moyenne:
print("Pas mal")
else:
print("Peut mieux faire")
Les tests confirment le bon fonctionnement : avec 0 bonne réponse, le programme affiche « vous devez réviser vos mathématiques » ; avec 1 sur 5, on obtient « peut mieux faire » ; et avec 4 sur 5, le message « pas mal » s'affiche. Nous nous retrouverons dans la prochaine vidéo pour un exercice sur l'addition et la multiplication.
En résumé
Cet exercice Python approfondit les conditions avec un scénario pratique de notation d'examen. L'utilisateur doit implémenter une logique if/elif/else qui compare le nombre de points obtenus au nombre total de questions pour retourner un message d'évaluation. L'exercice inclut le calcul d'une moyenne (conversion en entier), la comparaison de valeurs et plusieurs cas d'usage testés avec différentes entrées numériques.
Points clés
- Utiliser les opérateurs de comparaison (==, >, <) pour évaluer les conditions de notation
- Implémenter une structure if/elif/else imbriquée avec au moins 4 branches : points == questions, points == 0, moyenne supérieure à la moitié, ou valeur défaillante
- Convertir la moyenne en entier (int) car la division de nombres entiers produit un float
- Tester le code avec plusieurs jeux de données (ex: 12, 10, 4, 8, 2, 6, 0) pour valider tous les chemins d'exécution
- Les messages de rétroaction affichés sont : 'Excellent', 'Vous devez réviser vos mathématiques', 'Pas mal', 'Peut mieux faire'
Questions fréquentes
Pourquoi convertir la moyenne en entier ?
Parce que la division entre deux entiers en Python 3 produit un float (exemple : 2.5). Or, pour les comparaisons simples avec la moitié du nombre de questions, il est plus pratique de travailler avec des entiers.
Quels sont les critères d'évaluation dans cet exercice ?
Quatre critères : si points égale le nombre de questions, c'est 'Excellent' ; si points égale zéro, 'Vous devez réviser vos mathématiques' ; si la moyenne est supérieure à la moitié, 'Pas mal' ; sinon 'Peut mieux faire'.
Comment tester correctement cet exercice ?
Il faut relancer le programme avec plusieurs jeux de données (comme 12, 10, 4, 8, 2, 6, 0) pour vérifier que chaque branche de conditions fonctionne et produit la bonne rétroaction.