Zacznij terazZacznij za darmo

Rzut kostką

Utwórzmy nieskończony generator! Twoim zadaniem jest zdefiniowanie generatora simulate_dice_throws(). Generuje on wyniki rzutów sześciościenną kostką w postaci słownika out. Każdy klucz to możliwy wynik (1, 2, 3, 4, 5, 6). Każda wartość to lista: pierwszy element to liczba wystąpień danego wyniku, a drugi – stosunek liczby wystąpień do łącznej liczby rzutów total. Na przykład (gdy 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]
}

Wskazówka: użyj funkcji randint() z modułu random (już zaimportowanego). Generuje ona losową liczbę całkowitą z podanego przedziału (np. randint(1, 2) może zwrócić 1 lub 2).

To ćwiczenie jest częścią kursu

Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zasymuluj pojedynczy rzut, aby uzyskać nową liczbę.
  • Zaktualizuj liczbę wystąpień i stosunek realizacji.
  • Zwróć zaktualizowany słownik za pomocą yield.
  • Utwórz generator i zasymuluj 1000 rzutów.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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(____(____)))
Edytuj i uruchom kod