Bonjour à tous,

je débute en python, et je bute sur un exercice plutôt simple.

Le but de l'exercice est de demander à l'utilisateur de multiplier deux chiffres, de 1 à 10, choisis au hasard par l'ordinateur. Ensuite il faut dire si le résultat est bon, ou non, et ajouter/enlever selon si la réponse est exacte ou non. Et cela doit se faire trois fois. Mon code fonctionne très bien, mais il continue au delà des trois fois.

J'ajoute que je l'ai fait une première fois avec la boucle "for", ça a fonctionné, mais là je n'y arrive pas avec la boucle while (comme je l'ai dit, il ne s'arrête pas à la troisième fois).

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import random
 
points = 0
i=0
 
# je créé une boucle qui est censé se répéter trois fois
 
while i < 3:
 
    #je donne 2 chiffres choisis au hasard entre 1 et 10
 
    a=random.randint(1,10)
    b=random.randint(1,10)
 
    # j'affiche le calcul a effectuer
 
    print(a,"x",b)
 
    #je demande à l'utilisateur de donner le résultat du produit des deux nombres
 
    reponse=int(input("Quel est le produit de ces deux nombres ? "))
 
    # si la réponse est donne, on dit "bravo" et on lui rajoute 1 point
 
    if reponse==a*b:
        print("Bravo !")
        points +=1
        print("Votre score est de ",points)
 
    # si la réponse est fausse on lui dit "faux" et on lui enlève un point. Puis on affiche score et le bon résultat
 
    else:
        print("Faux ! la bonne réponse était:",a*b)
        points -=1
        print("Votre score est de ",points)
 
    # j'incrémente i de 1 à chaque boucle
 
    i += 1
        break
Merci à tous pour votre aide