TwiddleLab / Код / Строим на Python
Случайность и симуляция
Что ты узнаешь
- import random, потом random.randint(a, b) даёт целое число от a до b, оба края включены.
- Симуляция много раз повторяет случайный опыт и считает: при достаточном числе попыток доля устанавливается около настоящего шанса.
- Сумма двух кубиков чаще всего равна 7: у неё больше способов получиться.
- random.seed(n) даёт одни и те же случайные числа при каждом запуске, чтобы тесты могли проверить ответ.
Как идёт урок
Кубик правда даёт 1 из 6?
Брось его 10 раз и смотри на столбики.
Теперь брось два кубика и сложи. Нарисуй столбики, которые ждёшь.
Суммы от 2 до 12. Зажми и веди по графику.
Двигай от 10 бросков к 10 000.
Сначала один кубик, потом сумма двух. Твой рисунок пунктиром на графике двух кубиков.
Случайность в Python.
import random подключает случайные инструменты Python. random.randint(a, b) даёт целое число от a до b, оба включены. random.choice(list) выбирает один элемент.
Симуляция много раз запускает случайный опыт и считает, что вышло. Доля попаданий устанавливается около настоящего шанса.
random.seed(n) фиксирует начальную точку, поэтому при каждом запуске выходят одни и те же «случайные» числа.
Шесть бросков, считаем шестёрки.
Запусти, потом «Сброс» и запусти снова. Сравни броски.
Собери подбрасыватель монет: посчитай орлов в 1000 бросков.
randint(0, 1) это монета: 1 значит орёл.
Брось кубик 4 раза. Какой шанс, что хоть раз выпадет 6?
Отметь свою оценку, потом пусть ответят 10 000 симулированных игр.
Запусти каждую программу дважды. Какую может проверить тест?
Тест сравнивает вывод с ожидаемым ответом.
Одна из монет нечестная. Найди её своим подбрасывателем.
Каждый бросок тратит бюджет в 2000. Бросай, сравнивай, потом обвиняй.
Блиц: зафиксировать зерно или оставить по-настоящему случайным?
Брось каждую ситуацию в её коробку.
Предыдущий урок: Функции, которые вызывают функции · Следующий урок: Сетки: списки списков · Часть курса: Строим на Python
Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.