ÖVNINGSUPPGIFT

Uppgift 3 - Tärningskast

Försök själv först. Ledtrådar och facit finns längre ner – helt utan inloggning.


Nyckelord: for-loop

En normal tärning visar värden mellan 1-6. Nu ska vi testa att simulera en tärning med hjälp av en loop. Vi ska skapa ett program som "kastar" tärningen n gånger. Använd modulen random för att skapa ett slumptal mellan 1 och 6. Läs mer om modulen random i avsnittet: Random - Generera ett slumptal i Python. Vilket medelvärde har ett tärningskast?

Kasta tärningen:

  • 10 gånger
  • 100 gånger
  • 1000 gånger
  • 10000 gånger
  • 100000 gånger
  • 1000000 gånger

Hur skiljer sig medelvärdet mellan de olika omgångarna? Vilket tal går medelvärdet mot?

Utgå från följande program:

import random
rand = random.randint(1, 6)
Ledtråd

Man kan skapa ett slumptal mellan 1 och 6 med den inbyggda modulen random som man kan importera med följande kod:

import random # Importera modulen random
rand = random.randint(1, 6) # Slumpar ett tal mellan 1 och 6

I denna uppgift vet vi exakt hur många gånger vi vill utföra loopen. Därför lämpar det sig bäst att använda sig av en for-loop för att lösa uppgiften.

Lösning

Det finns såklart flera olika sätt att lösa uppgiften på, följande kod är ett exempel på hur man kan lösa uppgiften.

# Importera modulen random
import random

# Antal gånger loopen ska köra
nmbr_of_iterations = 1000

# Slumpar ett värde mellan 1 och 6 och summerar värdet till variablen sum
sum = 0
for i in range(nmbr_of_iterations):
    rand = random.randint(1, 6)          
    sum = sum + rand

# Beräkna medelvärdet
mean_value = sum / nmbr_of_iterations

# Skriv ut resultatet
print(f"Medelvärdet när man kastar en tärning {nmbr_of_iterations} gånger är {mean_value}")

Testa flera antal kast. För en rättvis sexsidig tärning är det förväntade värdet (1 + 2 + 3 + 4 + 5 + 6) / 6 = 3,5. Vid många kast tenderar medelvärdet att ligga nära 3,5, men det behöver inte komma närmare vid varje ny körning eller varje extra kast.