Python 6.3 : Exercice : Addition

Dans cet exercice, nous écrivons la première fonction du jeu : poser une question d'addition à l'utilisateur. La fonction question() ne prend aucun paramètre direct. Elle génère elle-même deux nombres aléatoires a et b dans l'intervalle défini par les constantes NOMBRE_MIN et NOMBRE_MAX, calcule a + b, puis demande à l'utilisateur de saisir le résultat.

Structure de la fonction question()

Le code utilise le module random pour générer les opérandes, et compare ensuite la réponse de l'utilisateur au résultat attendu. Voici la solution complète :

import random
							
							NOMBRE_MIN = 1
							NOMBRE_MAX = 10
							
							def question():
							    a = random.randint(NOMBRE_MIN, NOMBRE_MAX)
							    b = random.randint(NOMBRE_MIN, NOMBRE_MAX)
							    resultat = a + b
							    reponse_str = input(f"Combien font {a} + {b} ? ")
							    reponse = int(reponse_str)
							    if reponse == resultat:
							        print("Réponse correcte")
							    else:
							        print("Réponse incorrecte")
							
							question()

La fonction random.randint(min, max) retourne un entier aléatoire compris entre min et max inclus. On stocke les deux opérandes dans a et b, on calcule le résultat attendu, puis on compare avec ce que l'utilisateur a tapé après conversion en entier. La structure if/else affiche le verdict correct ou incorrect.

Les points clés de cette première fonction :

  • Importer le module random en haut du fichier
  • Utiliser randint pour des entiers aléatoires inclusifs
  • Calculer le résultat attendu dans une variable claire
  • Convertir la saisie en int() pour la comparaison
  • Donner un retour clair à l'utilisateur via print

Cette fonction tourne correctement pour une seule question. Si on relance plusieurs fois le programme, on obtient à chaque fois une opération différente grâce au tirage aléatoire. À très bientôt pour la prochaine vidéo concernant l'enchaînement de plusieurs questions dans la même session.

En résumé

Cet exercice Python enseigne comment créer une fonction interactive d'addition qui pose des questions à l'utilisateur via input(). Le programme génère deux nombres aléatoires a et b, demande à l'utilisateur de calculer leur somme, valide la réponse et boucle jusqu'à obtenir la bonne réponse. L'exercice inclut également la comptabilisation du nombre de réponses correctes et incorrectes pour suivre la progression.

Points clés

  • Utiliser input() pour poser des questions interactives à l'utilisateur
  • Générer des nombres aléatoires avec le module random pour créer des exercices variés
  • Implémenter une boucle de validation pour vérifier la réponse et relancer si incorrecte
  • Convertir et comparer les réponses utilisateur avec la bonne réponse calculée
  • Comptabiliser les réponses correctes et incorrectes pour tracker la progression

Questions fréquentes

Comment générer deux nombres aléatoires différents à chaque question ?

Utiliser le module random en Python (randint) pour générer des valeurs a et b différentes lors de chaque itération de la fonction d'exercice.

Comment vérifier que la réponse de l'utilisateur est correcte ?

Comparer la réponse saisie via input() avec le résultat du calcul a + b ; si les valeurs correspondent, c'est correct, sinon la relancer jusqu'à obtenir la bonne réponse.

Pourquoi comptabiliser les réponses correctes et incorrectes ?

Cela permet à l'utilisateur de suivre sa progression et comprendre son taux de réussite dans l'exercice d'addition.