Python 6.5 : Exercice : Points
Dans cet exercice Python, nous continuons notre projet de questionnaire en y ajoutant la gestion d'un nombre de points. L'objectif est de comparer la réponse de l'utilisateur à la bonne réponse, d'incrémenter un compteur à chaque réponse correcte, puis d'afficher la note finale sous la forme « votre note est de 3 sur 5 ». Le code doit donc évoluer pour intégrer une variable de score et une logique de vérification claire.
Démarche proposée
- Créer une variable nb_points initialisée à zéro avant la boucle.
- Faire en sorte que la fonction question retourne True ou False.
- Dans la boucle for, incrémenter nb_points uniquement si la réponse est correcte.
- Afficher la note finale avec un print formaté.
Concernant la correction, nous modifions la fonction question pour qu'elle renvoie un booléen au lieu d'afficher elle-même le résultat. Si a + b == reponse_int, on retourne True, sinon False. La boucle for appelle alors la fonction et, en fonction de la valeur retournée, affiche « réponse correcte » et incrémente le compteur, ou affiche le message d'erreur.
nb_points = 0
for i in range(nombre_questions):
if question():
print("Réponse correcte")
nb_points += 1
else:
print("Mauvaise réponse")
print("Votre note est de %s/%s" % (nb_points, nombre_questions))
Pour tester, nous modifions la constante nombre_questions. Avec une valeur de 2 et une bonne réponse, l'affichage indique « votre note est de 1 sur 2 ». En remettant la constante à 5 et en répondant à plusieurs questions, on obtient par exemple une note de 4 sur 5. Le système de points fonctionne donc correctement et constitue une base solide pour ajouter ensuite des conditions plus avancées, ce que nous verrons dans le prochain exercice.