Betingelse (if)
Velger hvilken kode som kjøres ut fra om noe er sant eller usant (if/elif/else). Grunnlag fra IT1.
Slik kan du tenke om det
- Ett veikryss, én vei ut if, elif og else er ett veivalg, ikke flere uavhengige spørsmål. Den første betingelsen som er sann, velger veien — resten testes ikke — og else fanger opp alt som blir igjen. Og siden en if spør, trenger den spørsmålsoperatoren ==, ikke handlingen =.
Vanlige feil
- Du bruker = der du mener == Ett likhetstegn (=) setter en verdi inn i en variabel (tilordning). To likhetstegn (==) sammenligner og gir True eller False. I en if-test skal du sammenligne, så du må bruke ==. Bruker du = i en if, får du en feilmelding (SyntaxError).
- Du er usikker på om grensen selv teller med `>` 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.
- Du tror alle sanne elif-grener kjører I en if/elif/else-kjede kjører bare den FØRSTE grenen som er sann. Resten hoppes over, selv om de også er sanne. Skal flere ting kunne skje uavhengig av hverandre, trengs separate if-er.
Øv på dette
- Lage: karakteriser et tall
- Lage: adgang etter alder
- Øving: poeng til bokstavkarakter
- Sjekk: hvor mange blokker kjører?
- Forklar = mot == — og redd adgangskontrollen
- Begrepssjekk: Betingelser og boolsk logikk
- Prøvebank: Tell dem regelen gjelder for (nivå 1)
- Kodeløype: Arena — styr roboten
- Drill: Python-grunnsyntaks — skriv selv (øvet)
- Drill: Python-grunnsyntaks — skriv selv (utfordring)
- Finn feilen: aldersjekken som ikke kjører