Geometri

Tidigare i det här kapitlet såg vi hur vi kan använda input för att fråga om information från användaren. I det här avsnittet ska vi kombinera det med turtle för att med den rita olika geometriska figurer i olika storlekar.

Att rita en kvadrat

Titta på det här programmet: 

Det börjar med att använda turtle och välja viss färg. Sköldpaddan vandrar fyra sträckor som ritar upp sidorna av en kvadrat. Men hur stor ska den vara? Det bestäms av hur långt sköldpaddan vandrar, vilket är värdet som ligger i variabeln distans, som du måste skriva in.

Prova att köra programmet och skriva in ett litet värde som 30 och ett stort värde som 150.

Valfri vinkel

Precis som för distans kan vi också använda input för att fråga om en vinkel. 

# Importera sköldpaddan och välja en rit färg och en penform.
import turtle
turtle.color('red')
turtle.shape('turtle')

# Kalla input funktionen och formulera frågorna till användaren.
distans = int(input("Hur långt?"))
vinkel = int(input("Vinkel?"))

# Använda distans och vinklar som användaren angav.
turtle.forward(distans)
turtle.left(vinkel)
turtle.forward(distans)
turtle.left(vinkel)
turtle.forward(distans)
turtle.left(vinkel)
turtle.forward(distans)

Vad händer om du skriver in något annat än 90 som vinkel?

Prova också att lägga till ytterligare två rader i programmet: 

turtle.left(vinkel)
turtle.forward(distans)

Och skriv in vinkeln 108.

Vandra utan att rita

Vi kan lägga till instruktionerna penup() och pendown() om sköldpaddan ska röra sig utan att rita.

Lägg exempelvis till följande rad direkt efter input-raderna:

turtle.penup()

Sköldpaddan kommer röra sig samma sträcka, men inte rita något.

Om du vill att den ska börja rita igen kan du senare lägga till:

turtle.pendown()

Du kan använda dessa instruktioner så ofta du vill i ditt program. Kan du få sköldpaddan att rita din favoritfigur?

En sköldpadda som följer instruktioner

Förutom att mata in text-meddelanden via input kan vi också styra programmet genom att klicka direkt på fönstret där sköldpaddan går, eller trycka på tangentbordet.

För att göra det måste vi först få tillgång till det fönster där sköldpaddan är:

screen = turtle.Screen()

Sedan kan vi säga att sköldpaddan ska gå till punkten vi klickar.

screen.onclick(turtle.goto)

Till sist måste vi säga åt programmet att fortsätta lyssna efter nya musklick.

screen.listen()

Här är ett exempelprogram:

import turtle
turtle.color('red')
screen = turtle.Screen()
screen.onclick(turtle.goto)
screen.listen()

Prova!

Har du en fråga du vill ställa om Geometri? 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

I den här videon kombinerar vi input, turtle, och screen för att skapa en interaktiv sköldpadda.

  • I/O: Förkortning för input/output. I Python använder vi input och print.
  • Variabel: En plats i datorns minne där vi kan spara något, kanske en bit text, ett namn, eller ett tal som 42.