Moduł np.random i próby Bernoulliego
Próbę Bernoulliego możesz wyobrazić sobie jako rzut (niekoniecznie symetryczną) monetą. Każdy rzut daje wynik „orzeł" (sukces) z prawdopodobieństwem \(p\) lub „reszka" (porażka) z prawdopodobieństwem \(1-p\). W tym ćwiczeniu napiszesz funkcję perform_bernoulli_trials(n, p), która wykonuje n prób Bernoulliego i zwraca liczbę sukcesów. Każda próba ma prawdopodobieństwo sukcesu równe p. Do przeprowadzenia pojedynczej próby użyj funkcji rng.random(), która zwraca losową liczbę z przedziału od zera do jedności.
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 1)
Instrukcje do ćwiczenia
- Zdefiniuj funkcję o sygnaturze
perform_bernoulli_trials(n, p).- Zainicjalizuj zmienną
n_successwartością zero – będzie ona liczyć wystąpienia wartościTrue, czyli sukcesy w próbach Bernoulliego. - Napisz pętlę
for, w której każda iteracja wykonuje próbę Bernoulliego i zwiększa licznik sukcesów, jeśli wynik jestTrue. Wykonajniteracji, przechodząc po elementachrange(n).- Aby przeprowadzić próbę Bernoulliego, wylosuj liczbę z przedziału od zera do jedności za pomocą
rng.random(). Jeśli wylosowana liczba jest mniejsza niżp, zwiększn_success(użyj operatora+= 1). Zmiennarngzawierająca zainicjalizowany generator liczb pseudolosowych jest już dostępna w kodzie.
- Aby przeprowadzić próbę Bernoulliego, wylosuj liczbę z przedziału od zera do jedności za pomocą
- Funkcja zwraca liczbę sukcesów
n_success.
- Zainicjalizuj zmienną
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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