Page 3 sur 5
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]