← Все вопросы

как бросить кубик и монетку в python? хочу симуляцию для настолки

Задан 18 месяцев назад886 просмотров2 ответа
5

Играем с братом в настолки, хочу сделать на питоне виртуальный кубик и монетку, чтобы не искать настоящие. И ещё интересно: если бросить кубик 1000 раз, правда ли все грани выпадают примерно поровну? Как это посчитать?

2 ответа

11
✓ Принятый ответ — помог автору

Кубик и монетка — это просто случайный выбор. Вот тебе обе штуки плюс симуляция 1000 бросков:

import random

# один бросок кубика
print("Кубик:", random.randint(1, 6))

# монетка
print("Монетка:", random.choice(["Орёл", "Решка"]))

# симуляция: бросаем кубик 1000 раз и считаем грани
counts = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0}
for _ in range(1000):
    roll = random.randint(1, 6)
    counts[roll] += 1

print("Сколько раз выпала каждая грань:")
for face, n in counts.items():
    print(f"  {face}: {n} раз")

Как работает: random.randint(1, 6) даёт число от 1 до 6 — это кубик. random.choice выбирает из списка — монетка. В симуляции заводим словарь-счётчик, бросаем 1000 раз и для каждой грани прибавляем. В конце увидишь, что все грани выпадают примерно по 166 раз — да, поровну (с небольшим разбросом, это нормально).

Как улучшить: попробуй кубик на 20 граней randint(1, 20) как в D&D, или нарисуй грани символами точек — будет как настоящий.

4

Прикольно ещё сделать «два кубика» и смотреть сумму — там 7 выпадает чаще всего, можешь проверить симуляцией:

d = random.randint(1, 6) + random.randint(1, 6)
print("Сумма двух кубиков:", d)

Брату зайдёт, если добавить паузу time.sleep(0.5) и текст «кручу-верчу...» перед результатом.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект