Modulen np.random och Bernoulli-försök
Ett Bernoulli-försök kan liknas vid ett kast med ett eventuellt ojust mynt. Varje myntkast har sannolikheten \(p\) att landa på krona (lyckat utfall) och sannolikheten \(1-p\) att landa på klave (misslyckat utfall). I den här övningen skriver du en funktion för att utföra n Bernoulli-försök, perform_bernoulli_trials(n, p), som returnerar antalet lyckade utfall av n Bernoulli-försök där vart och ett har sannolikheten p för lyckat utfall. Använd funktionen rng.random() för att utföra varje Bernoulli-försök – den returnerar ett slumptal mellan noll och ett.
Den här övningen är en del av kursen
Statistiskt tänkande i Python (del 1)
Övningsinstruktioner
- Definiera en funktion med signaturen
perform_bernoulli_trials(n, p).- Initiera en variabel
n_successtill noll – den fungerar som räknare förTrue-värden, det vill säga lyckade Bernoulli-försök. - Skriv en
for-slinga där du utför ett Bernoulli-försök i varje iteration och ökar antalet lyckade utfall om resultatet ärTrue. Utförniterationer genom att loopa överrange(n).- För att utföra ett Bernoulli-försök väljer du ett slumptal mellan noll och ett med hjälp av
rng.random(). Om det valda talet är mindre änp, ökan_success(använd operatorn+= 1för detta). En RNG har redan instansierats som variabelnrngoch seedats.
- För att utföra ett Bernoulli-försök väljer du ett slumptal mellan noll och ett med hjälp av
- Funktionen returnerar antalet lyckade utfall
n_success.
- Initiera en variabel
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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