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.
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.