Elif-satsen i Python

I Python, är elif-satsen (else-if-satsen) ett sätt att bestäma vad som ska hända i programmet beroende på om ett villkor är sant eller falskt. Elif-satsen är en kombination av if- och else-satsen och kommer enbart köra om föregående if och else-if-satser inte är uppfyllda.

Vad är en Else-if (elif-sats) i Python?

I Python, är else-if, även kallat elif, en villkorssats som liksom if-satsen utför ett kodsegment om dess villkor är uppfyllt (True). En else-if-sats är ett valfritt tillägg till if-satsen som enbart kontrolleras om dess tillhörande if-sats inte är uppfylld.

I Python, är elif-satsen (else-if-satsen) ett sätt att bestäma vad som ska hända i programmet beroende på om ett villkor är sant eller falskt.

Else-if i Python:
  • Är ett tillägg till if-satsen
  • Utför ett kodsegment om dess villkor är uppfyllt (True)
  • Kan inte användas utan en tillhörande if-sats.
  • Kan enbart utföras om if-satsens villkor är False, men else-if villkoret True.

Hur fungerar else-if-satsen i Python?

I Python, hjälper elif-satsen till att lösa problem då man har flera olika operationer som man vill utföra, beroende på vilket villkor som är uppfyllt. Beroende på om villkoret är uppfyllt eller inte, kan vi bestämma om en specifik operation utföras eller inte. För att uppnå detta finns elif-satsen som är en kombination av if- och else-satsen.

I flödesschemat visas en “elif stege”. Det fungerar på följande sätt.

Elif-satsen Python
  • Ifall if-villkor 1 är True (sant) så utförs if-operationen och programmet går sedan vidare utan att testa de resterande villkoren.
  • Om if-villkor 1 är False (falskt) så går programmet vidare och kollar på If-villkor 2.
  • Programmet går vidare tills det kommer till det villkor som är sant. Skulle inget villkor vara sant så kommer programmet alltid exekvera else-satsen.

Notera:

  • Det är möjligt att använda flera elif satser.
  • Ifall if-satsens logiska uttryck är sant, så kommer inte elif-satsen att exekvera (köra).
  • Ifall första elif-satsen är sann, kommer programmet inte exekvera nästkommande elif-sats, och så vidare.
  • Alla kodrader som är indenterade tillhör if-satsen.

Skapa en elif sats i Python

if logiskt uttryck:
If-operationer
elif:
Else-if-operationer
else:
Else-operationer

  • Elif-satsen deklarerar man enkelt med det reserverade ordet elif.
  • Det logiska uttrycket anger ett villkor som är antingen sant eller falskt.
  • Alla kodrader som är indenterade vid varje sats, tillhör respektive if-sats.

Elif-sats i Python – Exempel

En butik har följande rabattsystem:

Om det totala köpet är större än:

  • 500 kronor får man 5 % rabatt.
  • 1000 kronor får man 10 % rabatt.
  • 1500 kronor får man 15 % rabatt.
  • 2000 kronor får man 20 % rabatt.

Vi vill nu programmera ett program som skriver ut hur stor rabatt kunden ska få.

Betrakta följande flödesschema:

Vi ska nu försöka programmera systemet med hjälp av if-, else och elif-satser.

  • Det programmet gör vid start är att först kolla på den översta if-satsen.
  • Är if-satsen sann, kommer alla operationer köra som är indenterade (indragna) efter if-satsen.
  • Alternativt, är if-satsen falsk, hoppar programmet över alla instruktioner i if-satsen och kollar på elif-satsen.
  • Är elif-satsen sann utför programmet alla instruktioner som är indenterade under elif-satsen, annars går den vidare till nästa elif-sats.
  • Om ingen av villkoren i if- eller elif-satserna är uppfyllda så utför man operationerna i else-satsen!  

Se följande kod för kassasystemet:

Utskriften i detta fall blir alltså Rabatten är 0% eftersom alla villkor i ovanstående if och elif-satser är falska (False).

Testa själv! Har du förstått if-satserna rätt?

Vad är rabatten om kostnaden är 2200 kr?

Rabatten är 20%

Vad är rabatten om kostnaden är 1200 kr?

Rabatten är 10%

Vad är rabatten om kostnaden är 500 kr?

Rabatten är 5%

Vad är rabatten om kostnaden är 499 kr?

Rabatten är 0%

Vad är rabatten om kostnaden är 200 kr?

Rabatten är 0%

Vad är rabatten om kostnaden är -200 kr?

Rabatten är 0%


Bakåt    |    Framåt