Кидання двох чесних гральних кубиків
Тепер ви знаєте, як реалізувати перші два кроки симуляції. Перейдемо до наступного кроку — визначення зв'язку між випадковими змінними.
Досить часто в симуляції беруть участь не одна, а кілька випадкових змінних. Розгляньмо гру, у якій ви кидаєте два кубики й перемагаєте, якщо на обох випадає однакове число. Тут маємо дві випадкові змінні — два кубики — і зв'язок між ними: ми виграємо, якщо вони показують однакове число, і програємо — якщо ні. Насправді зв'язок між випадковими змінними може бути значно складнішим, особливо коли моделюємо, наприклад, погодні явища.
Після цієї вправи ви знатимете, як реалізувати третій крок запуску симуляції — визначення зв'язків між випадковими змінними.
Ця вправа є частиною курсу
Статистичне моделювання в Python
Інструкції до вправи
- Встановіть
num_diceрівним 2. - Доповніть функцію
np.random.choice(), щоб кинути два кубики та зберегти результати у зміннійoutcomes. - Заповніть булеву умову, щоб перевірити, чи показують два кубики однакове число.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Initialize number of dice, simulate & record outcome
die, probabilities, num_dice = [1,2,3,4,5,6], [1/6, 1/6, 1/6, 1/6, 1/6, 1/6], ____
outcomes = np.random.choice(____, size=____, p=____)
# Win if the two dice show the same number
if ____ == ____:
answer = 'win'
else:
answer = 'lose'
print("The dice show {} and {}. You {}!".format(outcomes[0], outcomes[1], answer))