Модуль np.random и испытания Бернулли
Испытание Бернулли можно представить как бросок монеты, которая может быть несимметричной. При каждом броске монета выпадает орлом (успех) с вероятностью \(p\) и решкой (неудача) с вероятностью \(1-p\). В этом упражнении вы напишете функцию perform_bernoulli_trials(n, p), которая выполняет n испытаний Бернулли и возвращает количество успехов. Вероятность успеха в каждом испытании равна p. Для проведения каждого испытания используйте функцию rng.random(), которая возвращает случайное число от нуля до единицы.
Это упражнение является частью курса
Статистическое мышление на Python (часть 1)
Инструкции к упражнению
- Определите функцию с сигнатурой
perform_bernoulli_trials(n, p).- Инициализируйте переменную
n_successнулём — она будет считать количество успехов (значенийTrue) в испытаниях Бернулли. - Напишите цикл
for, в каждой итерации которого выполняется одно испытание Бернулли, а счётчик успехов увеличивается при успешном исходе. Выполнитеnитераций, перебирая элементыrange(n).- Чтобы провести испытание Бернулли, получите случайное число от нуля до единицы с помощью
rng.random(). Если оно меньшеp, увеличьтеn_success(используйте оператор+= 1). Генератор случайных чисел уже создан как переменная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