Modul np.random a Bernoulliho pokusy
Bernoulliho pokus si můžeš představit jako hod mincí, která může být zatížená. Každý hod má pravděpodobnost \(p\), že padne hlava (úspěch), a pravděpodobnost \(1-p\), že padne orel (neúspěch). V tomto cvičení napíšeš funkci perform_bernoulli_trials(n, p), která provede n Bernoulliho pokusů a vrátí počet úspěchů. Každý pokus má pravděpodobnost úspěchu p. K provedení jednotlivých pokusů použij funkci rng.random(), která vrací náhodné číslo mezi nulou a jedničkou.
Toto cvičení je součástí kurzu
Statistical Thinking in Python (Part 1)
Pokyny k cvičení
- Definuj funkci se signaturou
perform_bernoulli_trials(n, p).- Inicializuj proměnnou
n_successna nulu – bude sloužit jako čítač hodnotTrue, tedy úspěšných Bernoulliho pokusů. - Napiš cyklus
for, ve kterém v každé iteraci provedeš Bernoulliho pokus a v případě úspěchu zvýšíš počet úspěchů. Proveďniterací pomocírange(n).- K provedení Bernoulliho pokusu vygeneruj náhodné číslo mezi nulou a jedničkou pomocí
rng.random(). Pokud je toto číslo menší nežp, zvyšn_success(použij operátor+= 1). Generátor náhodných čísel je již inicializován jako proměnnárngse zadaným seedem.
- K provedení Bernoulliho pokusu vygeneruj náhodné číslo mezi nulou a jedničkou pomocí
- Funkce vrátí počet úspěchů
n_success.
- Inicializuj proměnnou
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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