Page 1 sur 1

robot

Posté : dim. 9 déc. 2018 10:39
par Cédric
Bonjour,
voici un programme avec Python qui répond à la partie 2 d'un problème (voir pièce jointe).

from random import *
def marchedurobot(n):
Nbrereussites=0
for k in range (n):
D=0
G=0
for i in range (10):
P=randint(0,1)
if P==0:
D=D+1
else :
G=G+1

if D==5:
Nbrereussites=Nbrereussites+1
return("fréquence de réussite=",Nbrereussites/n )

Est-il juste ?
Si je mettais "for i in range(n)" en troisième ligne du programme je trouve une fréquence (environ 0,26) qui semble être différente à celle quand je mets, comme ici, "for k in range(n)" ... qui est d'environ 0,24.
Est-ce normal ?
Le "i" a-t-il une importance ?
Merci.
C.

Re: robot

Posté : dim. 9 déc. 2018 13:16
par sos-math(21)
Bonjour,
les noms i et k dans tes boucles for n'ont aucune incidence puisqu'ils ont seulement un rôle de compteur et ne sont pas réutilisés dans la boucle.
Donc le fait de les changer ne modifie pas ta fonction.
Si tu as des variations dans tes réponses, cela tient au fait que tu exécutes des instructions faisant appel à randint, donc au hasard.
Essaie de faire de nombreuses simulations avec tes deux fonctions utilisant des noms de compteur différents et tu verras qu'il y aura des variations, certes mais qui resteront proches de ce que tu as trouvée : la probabilité théorique est de 0,246 donc tes valeurs oscillent autour de celles-ci.
Bonne continuation