Créer un intervalle avec une condition [Résolu]

Signaler
-
 Antonin.gd -
Bonjour,

Je suis en train de créer un jeu de dé en classe d'ISN, et nous cherchons à ce que un joueur arrête de jouer lorsqu'il fait 1. Nous avons tout automatisé donc nous avons supprimé une def qui demandait aux joueurs s'ils voulaient continuer. Comment faire pour arrêter la séquence lorsqu'un 1 sort ? Merci à tous.

def creationSequence1():
seq=[]
sortie=False
de=10
for i in range (2) and de!=1:
de=randint(1,6)
seq.append(de)
print(seq)
if de==1:
sortie=True
return seq

Configuration: Windows / Chrome 78.0.3904.108

3 réponses

Messages postés
9395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 janvier 2020
496
bonjour, merci d'utiliser les balises de code quand tu publies du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
connais-tu l'instruction
while
?
tu n'expliques pas ce que tu veux obtenir, ni pourquoi tu utilises
for
.
D'accord, je ne savais pas, c'est la première fois que je publie. Donc je connais while. Ce que veux obtenir est une séquence de lancées de dé pour le joueur un qui ne peut lancer un dé que deux fois si le premier n'est pas un 1.

def creationSequence1():
seq=[]
sortie=False
de=10
for i in range (2) and de!=1:
de=randint(1,6)
seq.append(de)
print(seq)
if de==1:
sortie=True
return seq
yg_be
Messages postés
9395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 janvier 2020
496
je pense que tu n'as pas préservé l'indentation en partageant ton code.
moi je ferais un compteur qui compte le nombre de lancers, et j'utiliserais un
while
en testant le compteur et la valeur obtenue au lancer.
si tu préfères utiliser un
for
, tu peux utiliser le break pour interrompre la boucle for.
Désolé pour le retard. Merci de votre aide, j'ai juste répété deux fois le randint puis ajouter une condition où le lancer est différent de 1.