Programme pile ou face
Résolu
TristanKM
Messages postés
2
Statut
Membre
-
TristanKM Messages postés 2 Statut Membre -
TristanKM Messages postés 2 Statut Membre -
Bonjour,
J'aimerais faire un programme qui me permettrait de lancer 100 fois une pièce et que si la fréquence de pile ou de face est égale à 0.8 alors le programme s'arrête sinon il continue. J'aimerais aussi avoir le nombre de tentatives indiqué.
Merci beaucoup pour votre aide
Voici le bout de code que j'ai déjà fait :
J'aimerais faire un programme qui me permettrait de lancer 100 fois une pièce et que si la fréquence de pile ou de face est égale à 0.8 alors le programme s'arrête sinon il continue. J'aimerais aussi avoir le nombre de tentatives indiqué.
Merci beaucoup pour votre aide
Voici le bout de code que j'ai déjà fait :
from math import*
from random import*
def pile_face(a):
nb_pile = 0
nb_face = 0
while True:
for i in range(a):
piece = randint(0,1)
if piece == 1:
nb_pile = nb_pile + 1
else:
nb_face = nb_face + 1
if nb_face/a == 0.8:
break
print(pile_face(100))
A voir également:
- Jeu pile ou face python
- Pile carte mere - Guide
- 94 jeu - Télécharger - Puzzle & Réflexion
- Face time - Guide
- Pile manette wii - Forum Wii
- 94 degrés jeu - Télécharger - Divers Jeux
4 réponses
Bonjour,
Pourquoi initialiser les compteurs dans une fonction ? Car il faut se rappeler qu'une variable définie dans une fonction ne sera pas visible en dehors. Suggestion de lecture, la portée des variables : https://www.pierre-giraud.com/python-apprendre-programmer-cours/portee-variable/
Ton code n'a pas de logique, il ne peut aboutir.
Pourquoi un while et un for, c'est ceinture et bretelles, un de trop.
Après tester strictement = à 0.8 sera difficile à atteindre. Un >= serait plus approprié. Et 80% peut être un objectif ambitieux. Mais attention si on démarre sur un face, cela s'arrête tout de suite : 100% de face sur 1 tirage ;-) L'énoncé est peut être à revoir.
A étudier :
Pourquoi initialiser les compteurs dans une fonction ? Car il faut se rappeler qu'une variable définie dans une fonction ne sera pas visible en dehors. Suggestion de lecture, la portée des variables : https://www.pierre-giraud.com/python-apprendre-programmer-cours/portee-variable/
Ton code n'a pas de logique, il ne peut aboutir.
Pourquoi un while et un for, c'est ceinture et bretelles, un de trop.
Après tester strictement = à 0.8 sera difficile à atteindre. Un >= serait plus approprié. Et 80% peut être un objectif ambitieux. Mais attention si on démarre sur un face, cela s'arrête tout de suite : 100% de face sur 1 tirage ;-) L'énoncé est peut être à revoir.
A étudier :
from random import*
nb_pile = 0
nb_face = 0
max=int(input("Tentatives max : "))
for i in range(max):
piece = randint(0,1)
if piece == 1:
nb_pile = nb_pile + 1
else:
nb_face = nb_face + 1
if nb_face/(i+1) >= 0.6:
print("Interruption en route !")
break
print("Tentatives",i+1,"- Pile",nb_pile,"- Face",nb_face)