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) |
Partager