👤

Bonjour,
Aidez moi s'il vous plait merci d'avance :

Ex Proba 10
Il paraît que si on lance 200 fois une pièce, la probabilité d'obtenir une séquence de six résultats
identiques est de 0,96 environ !
1. Ecrire une fonction idemSequence(n)qui renvoie True si en n lancers on a obtenu une séquence
de six résultats consécutifs et False sinon. (On peut faire aussi afficher la liste des résultats
histoire de vérifier).
2. Ecrire une fonction probabilité(n) qui simule n fois le lancers de 200 pièces et affiche la
fréquence des jets de 200 lancers qui ont une séquence de six résultats identiques.
Vérifier alors la probabilité annoncée.​

Sagot :

Bonjour !

from random import randint as ran

def idemSequence(n):

   a = [ ran(0,1) for _ in range(n) ]

   old = 0

   c = 0

   for i in a:

       if i == old: c+=1

       else: old = i ; c = 1

       if c == 6: return True

   return False

def probabilite(n):

   c = 0

   for i in range(n):

       if idemSequence(200): c+= 1

   print(c / n)

Je te conseille de tester dans la console de faire probabilite(100), puis probabilite(1000), puis probabilite(5000) quelques fois, pour voir comment le nombre affiché s'approche de 0.96.

(Oh et le code n'est peut être pas le plus optimisé en terme de temps d'exécution, mais bon ça doit passer en 1-2 secondes normalement)

Voilà !

Other Questions

© 2024 IDNLearn. All rights reserved.