Fonction quitter ou continuer

Signaler
Messages postés
117
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
24 mars 2020
-
Messages postés
61
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 avril 2020
-
Bonjour,

Sur ce petit programme je fais un test pour pouvoir quitter ou continuer un jeu.
Quitter OK mais continuer ne marche pas je dois chaque fois relancer le programme donc je n'arrive pas à totaliser les points et le nombre de coups joués

Merci pour l'aide

import random

i=0
p=0




def info():
""" Informations """
print("Touche q pour quitter")
print("enter pour continuer")


def tirage():
valeur = random.choice(liste)
return(valeur)


liste = [1,2,3,4,5,6]
liste1 = [1,3,6]

valeur = (random.choice(liste))
print("tirage = ", valeur)

if valeur in liste1:
print ("gagné")
p = p + 1
print("tu as :", p, "point(s)")
i = i + 1
print("tu as joué :",i, "coup(s) il en reste 4")

if i == 5:
print("terminé tu as : ", p, "point(s)s)")

else:
print("perdu")



info()

while True:
choice = input()
if choice == "q" :
break

print("tirage :", tirage())

2 réponses

Messages postés
10448
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 avril 2020
588
bonjour, merci d'utiliser les balises de code quand tu partages du code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
61
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 avril 2020
17
Bonjour lecorse,

Effectivement, pas de balises, et comme on ne voit pas les indentations, pas facile de tester

Ceci dit, on voit bien, dans la boucle while à la fin, que si on appuie sur 'q', on va en sortir grâce au break et donc continuer jusqu'à la fin du programme et terminer

Par contre, si choice est différent de 'q', (quand on appuie sur 'enter') on continue la boucle indéfiniment, et donc il n'y a aucune instruction qui permettrait de remonter au début du programme !

Remarque: au lieu d'écrire valeur = (random.choice(liste)) à la 13eme ligne, tu pourrais appeler ta fonction tirage ...