Ibland vill vi att programmet bara ska utföra något om ett särskilt villkor är uppfyllt, t.ex. att om lönen överstiger ett visst belopp så ska en annan skattesats dras.
Kommandot if testar ett villkor. Om villkoret är sant (värdet = TRUE) så körs den kod som finns på raderna under och som är indragna.
if 'villkor som testas' :
här är första raden kod som körs om villkoret är uppfyllt.
här är andra raden kod som körs om villkoret är uppfyllt.
Här är kod som alltid körs (ej indragen)
OBS!!!_ För att göra indrag använder du alltid TAB-tangenten (pil med ett lodrätt streck bredvid). Använder du mellanslag så fungerar som regel inte programmet._
En villkors-rad avslutas med kolon ":
" (se i fönstret till vänster). Om du trycker RETUR-tangenten efter kolon, gör programmet automatiskt ett indrag av nästa kommandorad.
Om villkoret inte är uppfyllt (värdet = FALSE) så hoppar programmet över de indragna raderna som ligger direkt under raden kod som testar villkoret.
Kommandona if - elif - else
kan användas för att testa olika villkor. Dessa kommandon hänger ihop, kommandot if
används alltid, de övriga används om fler tester behöver göras och de första testet med kommandot if
har fått värdet FALSE.
Om något av testerna uppfylls, dvs får värdet TRUE, så struntar programmet i efterföljande tester, även om dessa också skulle ge värdet TRUE.
if
:
Kan liknas vid vårt "om...".
elif
:
"I annat fall så...om" Används om vi gör fler än två jämförelser (man kan använda flera elifsatser efter varandra).
else
:
"I alla övriga fall så..." Indragna rader under detta kommando körs bara om inte if
- och elif
-villkoren är uppfyllda.
pengar = 100
if pengar < 150:
print("Du har inte råd med inträde till konserten.")
elif pengar < 200:
print("Du är välkommen att köpa en inträdesbiljett.")
else:
print("Vad mycket pengar du tagit med! Ska du köpa backstage-pass?")
Läs noga koden ovan och se till att du förstår den. Här följer en beskrivning av hur programmet fungerar rad för rad:
elif
...) kommer inte att köras eftersom villkoret på raden ovanför var sant. Notera att koden är indragen.elif
...) kommer inte att köras eftersom det första testet på rad 2 redan fått värdet TRUE. Så även om det stämmer att värdet på variabeln pengar < 200, så körs inte den indragna koden på rad 5. if
-satsen skrivs ut.elif
skrivs ut. Kör programmet.else
skrivs ut. Kör programmet.Du har inte råd med inträde, det saknas XXX kronor.
XXX ersätts med korrekt belopp. Gör beräkning i printkommandots parentes för att kolla hur mycket det saknas).Du är välkommen att köpa en inträdesbiljett
.