Du blander /, // og %

Handler om: Datatype

`/` gir alltid desimaltall i Python — `10 / 2` blir `5.0`, ikke `5`. `//` gir heltallsdelen (`7 // 2` er `3`), og `%` gir resten (`7 % 2` er `1`). Feilen dukker opp når svaret skal være et helt antall, eller når du vil teste om et tall er delelig.

Eksempel

Du regner ut antall hele bokser med `/` og får «5.0 bokser» i utskriften.

Slik tenker du riktig om det

Tre spørsmål, tre operatorer: «hvor mye per stykk?» → `/`, «hvor mange hele?» → `//`, «hva blir til overs?» → `%`.

Slik ser det ut i kode

Slik gikk det galt

bokser = varer / 12        # 5.0, ikke 5
if varer / 2 == 0:         # blir aldri sant

Slik fikser du det

bokser = varer // 12       # hele bokser
if varer % 2 == 0:         # partall: ingen rest

Les om dette i boka

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