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.
En résumé
Cet exercice Python démontre l'implémentation d'un système de comptage de points pour évaluer les réponses correctes à des questions. Le code initialise une variable `nombreDePoints` à zéro et l'incrémente de une unité à chaque réponse correcte. L'exercice inclut également le calcul et l'affichage du pourcentage de réussite en divisant le nombre de points par le nombre total de questions.
Points clés
- Initialiser une variable compteur de points à zéro (nombreDePoints = 0)
- Incrémenter le compteur à chaque réponse correcte en utilisant l'opérateur += 1
- Vérifier les réponses avec une condition if à l'intérieur de la boucle des questions
- Retourner les réponses correctes depuis la fonction question pour validation
- Calculer le pourcentage de réussite en divisant nombreDePoints par nombreDeQuestions et multiplier par 100
- Tester l'implémentation en modifiant les constantes et relancer le programme pour valider
Questions fréquentes
Comment incrémenter le compteur de points à chaque bonne réponse ?
Utiliser l'opérateur d'assignation += 1 : nombreDePoints += 1. Cette ligne doit être placée à l'intérieur du bloc if qui vérifie la réponse correcte.
Comment afficher le score final avec le pourcentage ?
Utiliser un print() qui affiche la note et le pourcentage calculé. Le pourcentage se calcule en divisant nombreDePoints par nombreDeQuestions et en multipliant par 100.
Pourquoi la fonction question doit-elle retourner les réponses correctes ?
Retourner les réponses correctes permet à la fonction principale de vérifier si la réponse de l'utilisateur est exacte et de mettre à jour le compteur de points en conséquence.