Kom igångKom igång gratis

Kasta en tärning

Nu ska vi skapa en oändlig generator! Din uppgift är att definiera generatorn simulate_dice_throws(). Den genererar utfallen av kast med en sexsidig tärning i form av en ordlista out. Varje nyckel är ett möjligt utfall (1, 2, 3, 4, 5, 6). Varje värde är en lista: det första värdet är antalet gånger utfallet inträffat och det andra är kvoten mellan antalet utfall och det totala antalet kast total. Exempel (när 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]
}

Tips: använd funktionen randint() från modulen random (redan importerad). Den genererar ett slumpmässigt heltal i det angivna intervallet (t.ex. randint(1, 2) kan ge 1 eller 2).

Den här övningen är en del av kursen

Öva på kodningsintervjufrågor i Python

Visa kurs

Övningsinstruktioner

  • Simulera ett enskilt kast för att få ett nytt tal.
  • Uppdatera antalet utfall och kvoten för det utfallet.
  • Yielda den uppdaterade ordlistan.
  • Skapa generatorn och simulera 1 000 kast.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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(____(____)))
Redigera och kör kod