Le module np.random et les essais de Bernoulli
On peut voir un essai de Bernoulli comme le lancer d'une pièce possiblement biaisée. Plus précisément, chaque lancer a une probabilité p d'obtenir face (succès) et une probabilité 1-p d'obtenir pile (échec). Dans cet exercice, vous allez écrire une fonction qui exécute n essais de Bernoulli, perform_bernoulli_trials(n, p), et qui retourne le nombre de succès sur n essais de Bernoulli, chacun ayant une probabilité p de succès. Pour effectuer chaque essai de Bernoulli, utilisez la fonction rng.random(), qui retourne un nombre aléatoire entre zéro et un.
Cette activité fait partie du cours
Réflexion statistique en Python (Partie 1)
Instructions de l’exercice
- Définissez une fonction ayant la signature
perform_bernoulli_trials(n, p).- Initialisez à zéro une variable
n_success, le compteur de valeursTrue, qui correspondent aux succès des essais de Bernoulli. - Écrivez une boucle
foroù vous effectuez un essai de Bernoulli à chaque itération et incrémentez le nombre de succès si le résultat estTrue. Exécuteznitérations en itérant surrange(n).- Pour effectuer un essai de Bernoulli, choisissez un nombre aléatoire entre zéro et un à l'aide de
rng.random(). Si le nombre choisi est inférieur àp, incrémentezn_success(utilisez l'opérateur+= 1pour ce faire). Un GNA a déjà été instancié dans la variablernget amorcé.
- Pour effectuer un essai de Bernoulli, choisissez un nombre aléatoire entre zéro et un à l'aide de
- La fonction retourne le nombre de succès
n_success.
- Initialisez à zéro une variable
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def perform_bernoulli_trials(n, p):
"""Perform n Bernoulli trials with success probability p
and return number of successes."""
# Initialize number of successes: n_success
n_success = ____
# Perform trials
for i in ____:
# Choose random number between zero and one: random_number
# If less than p, it's a success so add one to n_success
if ____:
____
return n_success