Dolgočasna igra
Imamo krožno ploščo s polji, oštevilčenimi od 0 do 5 (ker računalnikarji štejemo od 0 in ne od 1). Začnemo na polju 0 in mečemo kocko. Recimo, da vržemo najprej 2 (smo na polju 2), nato 3 (smo na polju 5), nato 4 (smo na polju 3, ker je plošča - za razliko od Zemlje - okrogla), nato vržemo 2 (spet smo na polju 5) ...
Obvezna naloga
Napišite program, ki simulira takšno igro in izpiše število metov, po katerem pridemo stotič na polje 5.
Kocko bomo simulirali takole:
from random import *
seed(8)
Po tem bo vsak klic funkcije randint(1, 6)
vrnil naključno število med 1 in 6.
Program
print(randint(1, 6))
print(randint(1, 6))
print(randint(1, 6))
print(randint(1, 6))
izpiše (slučajno ravno)
2
3
4
2
Ker bo kocka padala vedno enako (zaradi seed(8)
, ki nastavi generator naključnih števil na neko začetno stanje; namesto 8 bi lahko uporabili poljubno drugo število in potem dobili drugačno, a spet vedno enako, zaporedje naključnih števil) , lahko izdam, kaj mora izpisati program: 626.
Dodatna naloga
Funkcijo seed
lahko v programu pokličemo večkrat in tako nastavljamo generator naključnih števil na različna začetna stanja.
Napiši program, ki preveri vse možne začetne nastavitve od 0
do 99999
in odigra igro. V vsaki igri bomo potrebovali različno število metov do stotega prihoda na polje 5. Program naj izpiše, kakšno je bilo minimalno število metov, potrebnih v eni od teh 100000 iger.