開始使用免費開始

np.random 模組與 Bernoulli 試驗

你可以把 Bernoulli 試驗想成擲一枚可能偏斜的硬幣。每次擲硬幣有機率 \(p\) 出現正面(成功),機率 \(1-p\) 出現反面(失敗)。在本練習中,你要撰寫一個函式 perform_bernoulli_trials(n, p) 來執行 n 次 Bernoulli 試驗,並回傳其中成功的次數。每一次試驗的成功機率都是 p。要執行單次 Bernoulli 試驗,使用 rng.random() 函式,它會回傳介於 0 與 1 之間的隨機數。

本練習屬於課程

Statistical Thinking in Python (Part 1)

檢視課程

練習說明

  • 定義具有簽章 perform_bernoulli_trials(n, p) 的函式。
    • 宣告並初始化變數 n_success 為 0,作為 Bernoulli 試驗成功(True)的計數器。
    • 撰寫一個 for 迴圈,在每次疊代中執行一次 Bernoulli 試驗;若結果為 True,就把成功次數加 1。透過迴圈 range(n) 進行 n 次疊代。
      • 要執行一次 Bernoulli 試驗,使用 rng.random() 選擇一個介於 0 與 1 之間的隨機數。若選到的數小於 p,就將 n_success 加 1(使用運算子 += 1)。亂數產生器(RNG)已經以變數 rng 建立並設好種子。
    • 讓函式回傳成功次數 n_success

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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
編輯並執行程式碼