valeur approchée : 0,421 (tiens, c'est curieux, comme le jeu de dés 421)
Donc, on saura qu'il n'y a pas d'erreur si on s'approche de cette valeur.
CODAGE
Pour finir le code, on va faire le programme principal.
Typiquement :
#PROGRAMME PRINCIPAL
parties=100
# on va se faire des parties de 3lancers
print("*** AVEC ",parties," PARTIES")
partiesgagnantes= repetition(parties)
proba=partiesgagnantes/parties
print ("En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à ",proba)
Explications :
j'ai mis quelques prints pour faire joli.
Je dis à repetitions de faire 100 parties de "3 lancers au moins un 6 gagnant"
repetition me renvoie le nombre de parties gagnées
le ratio parties gagnées/parties jouees est notre evaluation de la probabilité de faire aun moins un 6 sur 3 lancers (42,1% par le calcul, soit 0,421)
Et comme j'aime rentabiliser mon code, j'ai fais plein de parties.
MAIS...
Il y a une erreur dans le programme de l'énoncé ! Une erreur d'indentation (nombre de blancs de tête. Je ne fais pas durer le suspens :
Le return perdu, si tu regardes bien, est aligné avec le 1er test à 6 du 1er lancer ; il est DANS la boucle des 3 lancers. Il sera donc exécuté à chaque lancer.
si c'est 6 return gagné, sinon ... return perdu ! Bug, car on est sorti dès la fin du 1er lancer.
Pour le corriger, il faut le sortir de la boucle (décaler d'un cran à gauche)
Pour programmer l'erreur j'ai fait un autre projet ici :
https://trinket.io/python/942551770e
C'est quasi le même code que le bon qui suivra, sauf que :
il y a le bug
les print sont SANS parenthèses car c'est du "vieux python", avant python 3.
TRACES AVEC l'erreur
** AVEC 100 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.15
*** AVEC 1000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.163
*** AVEC 10000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.167
*** AVEC 100000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.16705
On est loin de 0,42
CODAGE
ici : https://trinket.io/python/942551770e
TRACES SANS l'erreur
*** AVEC 100 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.42
*** AVEC 1000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.429
*** AVEC 10000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.4215
*** AVEC 100000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.42241
CODE
ici : https://trinket.io/python3/3b0d5f0143
ou bien ici en dessous , fichier joint; j'ai mis des commentaires partout.
Tu essayeras avec un million, pour voir si on approche la valeur théorique au millième (dixième de pourcent)
Et enfin :
les proba permettent de déterminer des jeux équitables.
une partie de "3 lancers au moins un six" est équitable si le lanceur pose sur la table 42 kopeks et le croupier le complément à 100, soit 58 kopek
Lista de comentários
Réponse :
Explications :
Bonjour.
Si tu as un PC à portée de main, cherche de quoi programmer :
"trinket python3" tu vas trouver une page où tu porras taper le code, et l'exécuter, et répondre aux questions.
Le projet eet ici https://trinket.io/python3/3b0d5f0143
J'ai mis des commentaires dans le code
En proba, ça donne quoi ?
La méthode la plus simple, c'est de calculer la proba de l'événement contraire :
contraire de : (A) faire au moins un 6 avec 3 tirages
c'est : (B) ne faire aucun 6 à aucun tirages.
Et comme A et B sont CONTRAIRES p(A) + p(B) = 1
Concrètement : 1er tirage : pas de 6 : 5 chances
Deuxième idem , 5 chances et 3 ème aussi
Ces 3 tirages snt indépendants, donc ça se multiplie !
nombres de réalisations de B = 5x5x5 = 125
sur nombre de cas possibles : 6x6x6 = 216
p(B) = 125/216
p(A) = 1 - p(B) = 1 - 125/216 = 216/216 -125/216 = 91/216
valeur approchée : 0,421 (tiens, c'est curieux, comme le jeu de dés 421)
Donc, on saura qu'il n'y a pas d'erreur si on s'approche de cette valeur.
CODAGE
Pour finir le code, on va faire le programme principal.
Typiquement :
#PROGRAMME PRINCIPAL
parties=100
# on va se faire des parties de 3lancers
print("*** AVEC ",parties," PARTIES")
partiesgagnantes= repetition(parties)
proba=partiesgagnantes/parties
print ("En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à ",proba)
Explications :
j'ai mis quelques prints pour faire joli.
Je dis à repetitions de faire 100 parties de "3 lancers au moins un 6 gagnant"
repetition me renvoie le nombre de parties gagnées
le ratio parties gagnées/parties jouees est notre evaluation de la probabilité de faire aun moins un 6 sur 3 lancers (42,1% par le calcul, soit 0,421)
Et comme j'aime rentabiliser mon code, j'ai fais plein de parties.
MAIS...
Il y a une erreur dans le programme de l'énoncé ! Une erreur d'indentation (nombre de blancs de tête. Je ne fais pas durer le suspens :
Le return perdu, si tu regardes bien, est aligné avec le 1er test à 6 du 1er lancer ; il est DANS la boucle des 3 lancers. Il sera donc exécuté à chaque lancer.
si c'est 6 return gagné, sinon ... return perdu ! Bug, car on est sorti dès la fin du 1er lancer.
Pour le corriger, il faut le sortir de la boucle (décaler d'un cran à gauche)
Pour programmer l'erreur j'ai fait un autre projet ici :
https://trinket.io/python/942551770e
C'est quasi le même code que le bon qui suivra, sauf que :
TRACES AVEC l'erreur
** AVEC 100 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.15
*** AVEC 1000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.163
*** AVEC 10000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.167
*** AVEC 100000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.16705
On est loin de 0,42
CODAGE
ici : https://trinket.io/python/942551770e
TRACES SANS l'erreur
*** AVEC 100 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.42
*** AVEC 1000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.429
*** AVEC 10000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.4215
*** AVEC 100000 PARTIES
En lançant un dé 3 fois, j'évalue la probabilité de faire un 6 à 0.42241
CODE
ici : https://trinket.io/python3/3b0d5f0143
ou bien ici en dessous , fichier joint; j'ai mis des commentaires partout.
Tu essayeras avec un million, pour voir si on approche la valeur théorique au millième (dixième de pourcent)
Et enfin :
les proba permettent de déterminer des jeux équitables.
une partie de "3 lancers au moins un six" est équitable si le lanceur pose sur la table 42 kopeks et le croupier le complément à 100, soit 58 kopek