Fler valmöjligheter

I avsnittet om geometri använde vi turtle och input ihop för att kunna bestämma hur långt sköldpaddan ska vandra, och till och med i vilken vinkel.

Här ska vi bygga vidare på det – genom att bestämma färg och vilken figur!

Färg

Att bestämma vilken färg sköldpaddan ska ha kan vi göra med en enkel input-instruktion:

import turtle 

farg = input('Vilken färg? ') 

turtle.color(farg)  
turtle.forward(150)

Om du skriver in red eller yellow eller blue så får du en sköldpadda med just den färgen.
Men om du skriver in något som inte är en färg, till exempel “hej”, så kommer sköldpaddan att behålla sin standardfärg, svart.

Ett bra program förstår om det har blivit fel – till exempel om vi råkat stava fel på “red” - och säger till om det. Såhär kan det se ut:

If-satsen säger “Om färgen inte är röd, inte gul, och inte grön...”, då har vi en förbestämd färg, röd. Att ha en specifik färg bestämd på det här viset kallas för att “hårdkoda” färgen röd.

Välja figur

I tidigare avsnitt hade vi “hårdkodat” sköldpaddan att vandra i en kvadrat:

import turtle 

turtle.color('red', 'yellow') 

distans = int(input("Hur långt? ")) 

turtle.forward(distans) 
turtle.left(90) 
turtle.forward(distans) 
turtle.left(90) 
turtle.forward(distans) 
turtle.left(90) 
turtle.forward(distans)

Men vi kan välja mellan triangel och en kvadrat på det här viset:

import turtle 

turtle.color('red')  

distans = int(input("Hur långt?")) 
figur = input("Vilken figur (triangel/kvadrat)? ") 

if figur == 'triangel': 
  turtle.forward(distans)  
  turtle.left(120)  
  turtle.forward(distans)  
  turtle.left(120)  
  turtle.forward(distans) 

elif figur == "kvadrat": 
  turtle.forward(distans)  
  turtle.left(90)  
  turtle.forward(distans)  
  turtle.left(90)  
  turtle.forward(distans)  
  turtle.left(90)  
  turtle.forward(distans)  

else: 
  print("Jag förstod inte. Du kan bara välja triangel eller kvadrat.")

 Lägg märke till vad som händer om vi skriver in t.ex. “femhörning” - då används else-blocket och programmet säger “Jag förstod inte.” Då vet den som användaren vad som gått fel!

Kan du kombinera båda exemplen här till en smart sköldpadda? Försök själv - och se sedan videolektionen.

Har du en fråga du vill ställa om Fler valmöjligheter? 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å skillnaden mellan nyckelorden if och elif, och när vilken av dem är att föredra.

  • If-sats: Nyckelordet “if” följt av ett logiskt påstående används för att låta våra program fatta beslut.
  • I/O: Förkortning för input/output. I Python använder vi input och print.