Fonction quitter ou continuer

Résolu/Fermé
lecorse Messages postés 127 Date d'inscription samedi 11 mars 2006 Statut Membre Dernière intervention 19 juin 2020 - 24 mars 2020 à 09:56
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 24 mars 2020 à 11:55
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

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
24 mars 2020 à 10:29
bonjour, merci d'utiliser les balises de code quand tu partages du code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
24 mars 2020 à 11:55
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 ...
0