Logga in för att kunna spara vad du har gjort.
<< Föregående
Hem
Nästa >>
OBS! Fönstret är för smalt för att använda pythonlabbet.se. Använd en enhet med tangentbord!

Referens

Klicka på en funktion för att läsa mer.

Funktion
Kort beskrivning
back()
Förflyttar sköldpaddan bakåt
begin_fill()
Påbörjar ifyllnad av färg
circle()
Ritar en cirkel med valfri radie
color()
Bestämmer färgen som sköldpaddan ritar med
end_fill()
Avslutar ifyllnad av färg
forward()
Förflyttar sköldpaddan framåt
goto()
Förflyttar sköldpaddan till en given koordinat
hideturtle()
Döljer sköldpaddan
left()
Svänger sköldpaddan åt vänster ett antal grader
pendown()
Sätter ned pennan mot ritytan.
penup()
Tar upp pennan från ritytan
right()
Svänger sköldpaddan åt höger ett antal grader
shape()
Ändrar figur som ritar
Screen().setup()
Skapar en rityta med given storlek
speed()
Ställer in sköldpaddans rithastighet

Funktioner

Här får du lära dig

Vi har redan använt funktioner i den här kursen, importerade från modulen turtle. Exempelvis penup() och left(vinkel). Den förstnämnda utan argument och den sistnämnda med argument. Nu ska vi lära oss hur vi kan skapa egna funktioner, både med och utan argument.

Definiera och anropa funktioner

Att definiera en funktion i programmering innebär att ge ett block kod ett namn. Koden i funktionen kan köras genom att anropa funktionen, vilket görs genom att skriva namnet.

I Python definieras en funktion med def, kort för define (svenska: definiera). Till exempel kan vi skriva def funktion(): och sedan indentera kod under som ska tillhöra funktionen.

Funktioner kan användas för att slippa skriva samma kod om och om igen. Vi börjar med ett exempel och definierar en funktion kvadrat som ritar en kvadrat. Funktionen anropas sedan genom att helt enkelt skriva kvadrat().

Exempel

Definierar en funktion kvadrat som ritar en kvadrat. Sist anropas funktionen.

def kvadrat():
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)

kvadrat()
  

Vi kan förenkla exemplet ovan med en for-sats. Då slipper vi skriva samma sak fyra gånger.

Exempel

Funktionen kvadrat med hjälp av en for-sats.

def kvadrat():
    for i in range(4):  
        forward(100)
        left(90)
    
kvadrat()
  

Notera indenteringen i exemplet ovan. Först är raden for i in range(4): indenterad eftersom den tillhör funktionen kvadrat. Sedan är forward(100) och left(90) i sin tur indenterade i ytterligare steg eftersom de tillhör for-satsen.

Logga in eller skapa konto för att spara dina framsteg.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet ritar. Kör programmet efter du svarat och se om du fick rätt.

Fråga: Vad kommer programmet ovan att rita ut?

Tio kvadrater i ett rutmönster
Tio kvadrater på rad
Tio kvadrater med ett hörn gemensamt

Funktioner med argument

Med hjälp av argument kan vi skicka in värden som sedan används när koden i funktionen körs. Om vi fortsätter med kvadrater som exempel kan vi använda kvadratens sidlängd som argument. Vi har redan har sett hur funktioner med argument anropas, som t.ex. forward(100) där argumentet är 100.

Exempel

Definierar och anropar funktionen kvadrat med ett argument.

def kvadrat(sida):
    for i in range(4):
        forward(sida)
        left(90)

kvadrat(50) #ritar kvadrat med sidan 50
kvadrat(100) #ritar kvadrat med sidan 100
  

Med vår nya arsenal av tekniker kan vi nu rita godtyckliga polygoner. Det vi behöver veta är att vinklarna i en polygon med n sidor är 360 / n.

Exempel

Funktion för att rita en polygon med n sidor.

Klicka på testa och prova olika värden på n. Vad händer om n är stort?

def polygon(n):
    for i in range(n):
        forward(500 / n) # dela med n för lagom storlek
        left(360 / n)
  

Logga in eller skapa konto för att spara dina framsteg och din kod.

Ändra i koden

Funktionen triangel tar ett argument sida som är sidan på en triangel. Funktionens uppgift är att rita en liksidig triangel med sidan sida. Övrig kod ska stå kvar.

Funktioner med flera argument

Säg att vi vill använda polygon-funktionen ovan och också kunna välja vilken färg polygonen är eller hur långa sidorna ska vara. Då behöver funktionen ta emot flera inputvärden och alltså ha flera argument.

I definitionen av funktionen skrivs argumenten separerade med komma.

Exempel

Flera argument. Funktion för att rita en polygon med n sidor och färgen färg.

def polygon(n, färg):
    color(färg)
    for i in range(n):
        forward(500 / n) # dela med n för lagom storlek
        left(360 / n)
  

Polygon-funktionen ovan ger fel om vi försöker anropa den med endast ett argument. Om vi vill att funktionen fortfarande ska fungera med ett argument kan vi ge argumentet färg ett standardvärde. Ifall funktionen anropas utan det argumentet så används standardvärdet.

Exempel

Polygon-funktionen med standardvärdet färg = 'red'. Nu fungerar anropet polygon(3).

def polygon(n, färg = 'red'):
    color(färg)
    for i in range(n):
        forward(500 / n) # dela med n för lagom storlek
        left(360 / n)

polygon(3) #ritar en röd triangel
  

Logga in eller skapa konto för att spara dina framsteg och din kod.

Ändra i koden

Skriv en funktion kvadrat(sida, färg) där sida är kvadratens sida och färg är kantens färg.

Status
Du har inte gjort klart någon uppgift än (0 st).