Programme pile ou face
Résolu
TristanKM
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
TristanKM Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
TristanKM Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
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
- Citizen code python avis - Accueil - Outils
- Face time - Guide
- Pile manette wii - Forum Wii
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)