if
-satsen
Detta är en så kallad villkorssats som gör att man,
beroende på värde av ett logiskt (dvs typ bool
) uttryck, kan göra olika saker.
Exempel:
-
Antag att vi vill skriva ut ordet "Positivt" om variabeln
x
är större än noll. Vi kan då skrivaif x > 0: print("Positivt") Indragningen av utskriftssatsen kallas för indentering. Utskriften kommer endast ske om villkoret är sant dvs om
x
är större än 0. -
Om man vill skriva "Positivt" om
x
är större än 0 annars "Icke positivt"if x > 0: print("Positivt") else: print("Icke positivt")
Allmänt utseende
Satsen finns således i två varianter:
if villkor:
en eller
flera indenterade
satser
|
och |
if villkor:
en eller flera
indenterade satser
else:
en eller flera
indenterade satser
|
Varianternas funktion kan åskådliggöras med figurerna: | ||
och |
Villkoret i if
-satsen är ofta ett uttryck av logisk typ dvs bool
.
Se minilektion om logiska uttryck.
Villkoret kan dock vara av vilken typ som helst. Då tolkas 0, 0.0, None
, "" och tomma sekvenser (t.ex. []
och ()
) som False
medan allt annat tolkas som True
.
Ofta vill man testa flera olika alternativ. Antag till exempel att vi
vill ha texterna "negativt", "noll" eller "positivt" utskrivna beroende på
värdet av x
. Koden för detta kan skrivas så här:
Det här är dock en så vanlig situation så att det kan skrivas så här:
Observera att denna kod är ekvivalent med koden högre upp - det är bara en skillnad i layout!
Denna layout går naturligtvis att bygga vidare med fler fall. Exempel:
Följande är ett annat sätt att producera samma utskrift:
Övningar
-
Skriv de satser som skriver ut den största av tre variabler
x
,y
ochz
. - Skriv de satser som gör att de tre variablerna
x
,y
ochz
skrivs ut i storleksordning.