Question
1. Écrire en Python une fonction simulant < lancer4pièces> équilibrées. Elle n’a pas de paramètres et sa sortie est une liste de 4 lettres «P» ou «F». La première lettre est le résultat du lancer de la première pièce, la seconde lettre celui du 2e lancer…
2. Écrire en Python, une fonction qui prend pour paramètre une liste de 4 lettres «P» ou «F» et qui retourne vraie s’il y a autant de lettres «P» que de lettres «F».
3. Écrire en Python un programme renouvelant 1 000 fois l’expérience aléatoire qui consiste à lancer 4 pièces équilibrées, et à compter la fréquence des lancers où il y a autant de piles que de faces.
4. À l’aide de ce programme que vous pourrez exécuter plusieurs fois, conjecturer la réponse à la question suivante. Y a-t-il plus ou moins d’une chance sur 2 qu’il y ait autant de piles que de faces?
Merci de votre aide
Answer (500)
Réponse :
1. J'ai tapé
import random
liste=[random.choice('PF') for i in range(4)]
print(liste)
Cela fonctionne.. J'ai i pour faire 4 éléments..
2. A la question précédente, éventuellement tu laisses print(liste) et tu ajoutes
print( liste.count('P')==liste.count('F'))
Cela te renvoie True (Vrai) ou False (Faux).
Sinon, tu tapes
if liste.count('P')==liste.count('F'):
print('Vrai')
Attention à bien mettre : pour incrémenter.. Et c'est bien == pour tester l'égalité..
3. import random
n=0
for i in range(1000):
liste=[random.choice('PF') for k in range(4)]
if liste.count('P')==liste.count('F'):
n=n+1
print(n/1000)
Attention à bien mettre : aussi pour for..
4. J'ai en effet testé plusieurs fois et la réponse est non.
Explications étape par étape
Merci de poser des questions si quelque chose n'est pas clair.