robot

Retrouver tous les sujets résolus.
Répondre
Cédric

robot

Message par Cédric » dim. 9 déc. 2018 10:39

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.
Fichiers joints
La-marche-du-petit-robot.pdf
(272.35 Kio) Téléchargé 92 fois
sos-math(21)
Messages : 10334
Enregistré le : lun. 30 août 2010 11:15

Re: robot

Message par sos-math(21) » dim. 9 déc. 2018 13:16

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
Répondre