Du tror randint(1, 6) aldri gir 6

Handler om: Tilfeldighet (random)

Du overfører regelen fra range til randint. range(1, 6) stopper på 5, så du antar at randint(1, 6) gjør det samme. Men randint tar med BEGGE endepunktene — 1 og 6 er begge mulige. Skriver du randint(1, 7) for å «få med sekseren», får du en syver du ikke ville ha.

Eksempel

Terningen din skal gi 1–6. Du skriver random.randint(1, 7) fordi du tror det siste tallet faller bort — og spillet gir av og til 7 øyne.

Slik tenker du riktig om det

To funksjoner, to regler: range TELLER OPP TIL (stopper før), randint TREKKER MELLOM (begge med). Test det selv: kjør randint(1, 2) hundre ganger og se at både 1 og 2 kommer.

Slik ser det ut i kode

Slik gikk det galt

kast = random.randint(1, 7)     # gir av og til 7

Slik fikser du det

kast = random.randint(1, 6)     # 1 til 6, begge med

Les om dette i boka

↓↑ naviger Enter åpne ShiftEnter ny fane Esc lukk
Velg tema
Skala