Boujour,
Je débute dans le langage Python.
Je me suis acheté un livre pour les nuls pour commencer et le code final indiqué pour faire le jeu pour diviner un chiffre pose problème.
Message d'erreur dans je veux lancer le jeu : """ 'break' outside loop
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 """ Projet 5 JeuDevin.py Version 4 (finale) """ import random INVITE = 'Propose un nombre : ' # NOUVELLES CONSTANTES QUITTER = -1 QUIT_TXT = 'q' QUIT_MSG = 'Merci pour tout !' QUIT_CONFIRMER = "Es-tu certain de vouloir quitter (O/n) ?" # NOUVELLE FONCTION POUR CONFIRMER QU'ON VEUT QUITTET def confirmer_quitter(): """ On sort seulement si saisie de la lettre n minuscule par renvoi de False. """ confi = raw_input(QUIT_CONFIRMER) if confi == 'n': return False else: return True def jouer_tour(): """ Choix d'un nombre, demande au joueur de le trouver et reboucle tant qu'il ne l'a pas. """ nbr_secret = random.randint(1,100) nbr_saisies = 0 while True: nbr_joueur = raw_input(INVITE) # AJOUT BLOC IF POUR SORTIR CONFIRMEE if nbr_joueur == QUIT_TXT: # AJOUT if confirmer_quitter(): # AJOUT return QUITTER # AJOUT else: # AJOUT continue # TOUR DE BOUCLE QUIVANT # AJOUT nbr_saisies = nbr_saisies + 1 # AJOUT if nbr_secret == int(nbr_joueur): print('Correct !') return nbr_saisies elif nbr_secret > int(nbr_joueur): print('Trop petit !') else: print('Trop grand !') ### SECTION PRINCIPALE MAIN total_tours = 0 total_saisies = 0 msg_stat = 0 # AJOUT while True: total_tours = total_tours + 1 print("On passe au tour " +str(total_tours)) print("En avant pour les devinettes !") ce_tour = jouer_tour() # AJOUT BLOC IF POUR TESTER SI QUITTER if ce_tour == QUITTER: # AJOUT total_tours = total_tours - 1 # AJOUT if total_tours == 0: # AJOUT msg_stat = "1er tour pas fini ! " +\ "Tu veux recommencer ?" # AJOUT else: moy = str(total_saisies / float(total_tours)) # AJOUT msg_stat = "Tu as fais " +str(total_tours) +\ " tours. Moyenne de " +str(moy) # AJOUT break # AJOUT total_saisies = total_saisies + ce_tour print("Tu as fait "+str(ce_tour) + " saisies.") moy = str(total_saisies / float(total_tours)) print("Ta moyenne de saisie/tour = " + moy) print("") # AJOUT MESSAGE DE SORTIE print(QUIT_MSG) print(msg_stat)
J'ai pourtant recopier ce qu'il y a dans le livre.
Dans les cours, il y a des erreurs volontaires (sans donner la solution) pour apprendre. Mais là, je ne vois pas, et à mon avis, il ne devrait pas y en avoir dans ce code final.
Bref, j'ai cherché, cherché, ... Rien
Le but, est de pouvoir quitter le jeu avec la lettre 'q'.
Je vous remercie d'avance pour votre aide.
Partager