Index de l'article

Etape 2 - Mémorisation des erreurs

Rappel:
Ma mission est le calcul des fréquences des erreurs. 

 

Tester le script suivant

En comprenant l'étape 1, j'ai l'idée de faire ceci:

Le script

#------------------
# proposition initiale faite par Etaine, et amélioration du prof
#------------------
from random import randint
n=0
max=3
erreur=[]
for i in range (max):
    a=randint(1,10)
    b=randint(1,10)
    print(a,"x",b,"=?")
    rep=int(input("Votre réponse=?"))
    if rep==a*b:
       print ("Bravo mon ptit pote, t'as 1 point de plus")
       n=n+1
    else:
        print ("Bah alors qu'est-ce que tu nous fais, c'est 0 mon pote, SORRY")
        erreur.append(a) #ajoute la valeur de a dans la liste erreur
        erreur.append(b) #fait de meme pour b

print("----------------------------------------------")
print ("Nombre d'essais:",max,"et nombre de bonnes réponses:",n)
print ("Voici ta note sur 20 coco,",n/max*20,"/20")
print ("Et les tables dans lesquelles vous vous trompez sont: ",erreur)

Le résultat

>>> %Run aaa.py
3 x 6 =?
Votre réponse=?18
Bravo mon ptit pote, t'as 1 point de plus
6 x 9 =?
Votre réponse=?1
Bah alors qu'est-ce que tu nous fais, c'est 0 mon pote, SORRY
10 x 1 =?
Votre réponse=?1
Bah alors qu'est-ce que tu nous fais, c'est 0 mon pote, SORRY
----------------------------------------------
Nombre d'essais: 3 et nombre de bonnes réponses: 1
Voici ta note sur 20 coco, 6.666666666666666 /20
Et les tables dans lesquelles vous vous trompez sont:  [6, 9, 10, 1]

Pour comprendre

  • Création d'une liste vide "erreur" au début du script
    L'objectif sera d'ajouter avec la méthode append() les tables pour lesquelles le joueur se trompe.
  • Le joueur se trompe si sa réponse: rep est différente du produit a*b.
    Le traitement de l'erreur est donc sous le else:
  • Il est logique alors d'ajouter dans ce else les 2 lignes avec append()

=> Au final, ma liste erreur contient toutes les valeurs de a et b pour lesquelles le joueur c'est trompé dans la partie.

 

Simulation avec 10 tours

Je ne teste ici que des réponses fausses. J'ai bien 0/20 et il est normal de voir une liste erreur contenant:

  • 20 valeurs
  • certaines valeurs se répètent
Nombre d'essais: 10 et nombre de bonnes réponses: 0
Voici ta note sur 20 coco, 0.0 /20
Et les tables dans lesquelles vous vous trompez sont:  [8, 5, 7, 9, 3, 1, 4, 9, 10, 2, 6, 6, 7, 5, 10, 10, 10, 1, 1, 2]