Salut,
je découvre seulement le Python, mais on a le droit de mettre 3 arguments dans randint() ?
Je n'ai rien trouvé sur Internet et ça me met un message d'erreur sur un éditeur en ligne.
De plus, tu ne peux obtenir que Pile (1) ou Face (0), pourquoi mettre des entiers entre 0 et 2 ?
Du coup pour générer la liste, je suis passé par une boucle :
L=[]
for i in range(100) :
L.append(random.randint(0,1))
Ce qui tourne en boucle dans ton programme, c'est ton
while a!=4:
if L[i]==1:
a=a+1
else:
a=0
À l'intérieur du while, le i n'évolue pas, donc si jamais la case i contient face (0), a est remis à 0, et comme ce n'est pas 4, on teste à nouveau, mais comme ça contient 0, a est remis à 0 etc.
Une double boucle avec des break pourrait faire l'affaire :
for i in range(97) : (97 car la dernière série consécutive possible est 97 98 99 100)
for j in range(4):
if L[i+j]==1:
Et tu casses la boucle dans le sinon pour pas perdre de temps.
Idem pour la boucle extérieure, tu la casses dès que tu as rencontré 4 pile consécutifs. Inutile d'aller voir ce qu'il se passe en 90 91 92 93 si ça a marché en 2 3 4 5.
Message édité le 26 juin 2019 à 10:29:05 par BaikenShishido