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.