Du er usikker på om grensen selv teller med
Handler om: Betingelse (if), Boolsk uttrykk
`>` og `>=` skiller seg på ett eneste punkt: selve grenseverdien. Er du 18 år på dagen, er `alder > 18` usant, mens `alder >= 18` er sant. Feilen er stille — koden virker for alle verdier unntatt akkurat grensen, og det er sjelden den du tester.
Eksempel
Du tester `er_myndig(20)` og `er_myndig(15)`, begge riktige, men `er_myndig(18)` svarer nei.
Slik tenker du riktig om det
Test alltid grensen selv, ikke bare én verdi over og én under. Les betingelsen høyt: «minst 18» blir `>=`, «mer enn 18» blir `>`.
Slik ser det ut i kode
Slik gikk det galt
def er_myndig(alder):
return alder > 18 # 18 år faller utenfor Slik fikser du det
def er_myndig(alder):
return alder >= 18 # 18 år er myndig