simul_allumettes.py

Created by schraf

Created on September 09, 2018

337 Bytes

Un fumeur a 2 boites de 40 allumettes dans ses poches.
A chaque fois qu’il fume il prend une allumette au hasard dans une des 2 boites.
Combien en moyenne restera t-il d’allumettes dans ses poches lorsqu’il aura vidé une des boites ?

  • Répéter un certain nombre de fois l’expérience (𝑛 = 5000 par exemple)
  • Chaque expérience donnera un résultat (Temps d’attente en minutes, nombre d’allumettes etc.)
  • Faire la moyenne de ces résultats (Somme des résultats divisé par le nombre de simulations)
  • On obtient une estimation ponctuelle de la moyenne (notée 𝑚𝑒)

Explications du programme en vidéo : https://youtu.be/YOBwrrTIHe0?t=12m28s

La valeur théorique est 7.


import random

def simul(nb):
  SV=0
  for k in range(nb):
      Boite1=40
      Boite2=40
      while True:
          if random.random() < 0.5: Boite1-=1
          else: Boite2-=1
          if Boite1==0 or Boite2==0: break
      r=Boite1+Boite2
      SV=SV+r
  return SV/nb
  
# simul(1000) donne environ 7.08