ПочатиПочніть безкоштовно

Киньте кубик

Створімо нескінченний генератор! Ваше завдання — визначити генератор simulate_dice_throws(). Він генерує результати кидків грального кубика з 6 гранями у вигляді словника out. Кожен ключ — можливий результат (1, 2, 3, 4, 5, 6). Кожне значення — список: перший елемент — кількість реалізацій результату, другий — частка реалізацій від загальної кількості кидків total. Наприклад (коли total = 4):

{
  1: [2, 0.5],
  2: [1, 0.25],
  3: [1, 0.25],
  4: [0, 0.0],
  5: [0, 0.0],
  6: [0, 0.0]
}

Порада: скористайтеся функцією randint() з модуля random (вже імпортовано). Вона генерує випадкове ціле число в заданому інтервалі (наприклад, randint(1, 2) може повернути 1 або 2).

Ця вправа є частиною курсу

Практика співбесід із програмування на Python

Переглянути курс

Інструкції до вправи

  • Зімітуйте один кидок, щоб отримати нове число.
  • Оновіть лічильник і частку реалізації.
  • Поверніть (yield) оновлений словник.
  • Створіть генератор і змоделюйте 1000 кидків.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def simulate_dice_throws():
    total, out = 0, dict([(i, [0, 0]) for i in range(1, 7)])
    while True:
        # Simulate a single toss to get a new number
        num = ____
        total += 1
        # Update the number and the ratio of realizations
        out[num][0] = ____
        for j in range(1, 7):
        	out[j][1] = round(____/____, 2)
        # Yield the updated dictionary
        ____

# Create the generator and simulate 1000 tosses
dice_simulator = ____
for i in range(1, 1001):
    print(str(i) + ': ' + str(____(____)))
Редагувати та запускати код