Connectez-vous avec une communauté de passionnés sur Zoofast.fr. Obtenez des réponses détaillées et bien informées de la part de notre communauté de professionnels expérimentés.
Sagot :
Bonsoir.
Comme l'exercice n'est pas clair quand il dit "trouver un moyen" je te propose de créer une fonction dice qui va retourner la valeur d'un lancé du dé pipé.
N'oublie pas d'importer le module random :
from random import *
Pour simuler ce dé pipé, prenons un nombre aléatoire entre 0 et 1 (grâce à la fonction random). Si ce nombre est inférieur à 0.1, cela équivaut donc à une probabilité de 10%. De même pour la probabilité de faire 2, 3, 4 et 5 (elle est de 60%, donc notre pseudo nombre aléatoire doit être inférieur à 0.7 dans ce cas). Sinon, on retourne 6 (30% de probabilité).
Voici donc notre fonction qui simule le dé pipé :
def dice():
r = random()
if r < 0.1:
return 1
if r < 0.7:
return choice([2, 3, 4, 5])
return 6
Ensuite, pour le tester, nous allons utiliser une boucle afin de lancer plusieurs fois notre dé. L'exercice demande 100000 lancés, alors lançons le dé 100000 fois et enregistrons le résultat dans une liste L où l'élément L[i] correspond au nombre de fois que le chiffre i+1 a été obtenu (par exemple la liste [12, 15, 14, 23, 48, 74] indique qu'on a obtenu 12 fois le chiffre 1, 15 fois le chiffre 2, etc...) :
L = [0]*6
for i in range(100000):
d = dice() #nous lançons notre dé pipé
L[d-1] += 1
Enfin pour afficher le résultat sous forme de pourcentage je te propose de faire comme ceci :
for p in L:
print(p/1000, "%")
Remarque : j'ai divisé par 1000 car le pourcentage est de [tex]\frac{p\times100000}{100}[/tex] (ce qui équivaut à [tex]\frac{p}{1000}[/tex]).
Voici un exemple de sortie que j'ai obtenue :
10.166 % #10% de chance d'obtenir 1
14.912 % #15% de chance d'obtenir 2
15.099 % #15% de chance d'obtenir 3
15.079 % #15% de chance d'obtenir 4
14.917 % #15% de chance d'obtenir 5
29.827 % #30% de chance d'obtenir 6
Tu peux relancer plusieurs fois le programme et tu trouveras des pourcentages proches de ce qu'on avait comme probabilité d'avoir.
Voici le code complet :
from random import *
def dice():
r = random()
if r < 0.1:
return 1
if r < 0.7:
return choice([2, 3, 4, 5])
return 6
L = [0]*6
for i in range(100000):
d = dice()
L[d-1] += 1
for p in L:
print(p/1000, "%")
Si tu as des questions n'hésite pas :)
Bonne soirée ^^
Merci de contribuer à notre discussion. N'oubliez pas de revenir pour découvrir de nouvelles réponses. Continuez à poser des questions, à répondre et à partager des informations utiles. Zoofast.fr s'engage à répondre à toutes vos questions. Merci et revenez souvent pour des réponses mises à jour.