Att välja

Hittills har våra program varit ganska "stela" - de utför instruktion för instruktion i den ordning vi gett och kan aldrig avvika från dem.

Men vanliga program eller spel följer inte ett rakt spår på det viset. Här ska vi se hur vår kod kan börja "tänka själv" och ge användaren olika alternativ.

Indentering

De här två raderna är olika:

print("Hej!")
    print("Hej!")

Vi säger att den andra raden är "indenterad" när den är inskjuten lite till höger. Du kan göra detta med valfritt antal mellanslag (eller TAB) så länge du använder lika många för alla "indenterade" rader i din kod.

Vi kan inte indentera rader hur som helst men vi använder för att göra tydligt att vissa rader hänger ihop.

Varför vill vi indentera rader? Det ska vi se nu.

Om och bara om

Vi kan låta program utföra olika instruktioner, olika rader, beroende på om ett visst påstående är sant eller falskt. För det använder vi nyckelordet if och detta kallas därför för if-sats.

Ett exempel ser ut såhär:

Den första raden ser bekant ut. Men den andra raden är ny!

if namn == "Ja":

Vi använder det speciella ordet if följt av påståendet svar == "Ja" (som betyder "variabeln svar är precis lika med "Ja") och slutligen ett kolon.

Bara om det påståendet är sant utförs de indenterade rader som följer efter. I det här fallet är det rad nummer 3.

print("Hej Marcus")

Den sista raden, rad 4, är inte indenterad, så den kommer alltid att köras efteråt. Den beror inte på if-satsen ovan eftersom den inte är indenterad.

Prova att köra programmet och skriva in "Ja" och något annat än "Ja". Var noga med stor bokstav! Observera hur resultatet blir annorlunda.

Påståenden

Påståendet efter if kan vara att något, oftast en variabel, är lika med något annat värde. Då använder vi två likamedtecken, som ovan.

Vi kan också jämföra om en variabel är större eller mindre än något annat värde.

ålder = int(input("Ålder? "))
if ålder > 18:
    print("Du är vuxen")
Har du en fråga du vill ställa om Att välja? Ställ den på Pluggakuten.se
Har du hittat ett fel, eller har du kommentarer till materialet på den här sidan? Mejla matteboken@mattecentrum.se
Läs sidan på andra språk

I den här videon tittar vi på några exempel av if-satser och hur man indenterar kod på lättast sätt.

  • Indentering: Att flytta eller “dra” in koden ett steg till höger. Används i Python för att t.ex. visa vilka rader som tillhör en if-sats.
  • If-sats: Nyckelordet “if” följt av ett logiskt påstående används för att låta våra program fatta beslut.
  • Logiskt påstående: En jämförelse mellan två värden. Till exempel:

ålder > 18 eller namn == "marcus".

  • Variabel: En plats i datorns minne där vi kan spara något, kanske en bit text, ett namn, eller ett tal som 42.
Svårighetsgrad