Turtle med funksjoner
Vi har sett på Python pakken Turtle, et forenklet underspråk laget i Python. En skilpadde som tar fysisk logiske kommandoer som forward, right, left, backward. Vi installerer Turtle ved å åpne et konsollvindu, på mac heter dette Terminal
, Windows Kommandolinjeverktøy
(CMD). Der skriver vi koden for “Python Install Package”, som er pip install turtle
.
Et helt enkelt oppsett av Turtle skrives som følger:
Her vil det tegnes en 90 graders vinkel på skjermen. Man kan endre parametrene til å tegne nesten det man vil, som om man brukte en gammeldags Etch-a-sketch. Men selv enkle programmer kan fort bli innviklete, med mindre man forenkler prosessene man ønsker å oppnå. Møt derfor funksjoner, der du kan forhåndsprogrammere sekvenser.
Oppgave
Du skal bruke Turtle til å tegne ditt eget navn, eller noen andre sitt navn, ved hjelp av funksjoner. Du står fritt frem om du vil bruke tid på å få skilpadden til å ta tusjen opp eller ned, farger eller lignende, men så lenge det kan se ut som ditt navn så er det fint.
Funksjoner er rett og slett oppskrifter på hvordan maskinen skal utføre kode, og kan derfor gjøre at vi kan forhåndsprogrammere et sett med kommandoer og få det ned til en enkel kommando, som kan være nyttig dersom man vil gjøre det enkelt å oppnå et spesifikt resultat, for eksempel hvordan tegne bokstaver. Jeg skal vise et eksempel over hvordan en funksjon kan se ut, men resten må dere lage selv.
Eksempel på funksjon, tegn firkant
Dette eksempelet har en funksjon som tar imot en parameter, navn på parameter er helt frivillig, og du kan bruke navnet i koden, som om den har informasjonen som du vil at den skal ha. Fordel er det om du bruker navn som representerer hva funksjonen trenger av informasjon, for eksempel dersom funksjonen trenger et tall, at du kaller den for tall.
Eksempel på funskjon, tegn bokstav A
Tenk deg koden for å tegne en tekst på skjermen, du går fra å kunne skrive "Hei jeg heter Jens"
til at det kommer opp et tegn for bokstaven H, et tegn for bokstaven e, osv. Det er ikke av tilfeldigheter at det fungerer slik, det er fordi noen har manuelt sittet å programmert det inn i operativsystemet som funksjoner. På samme måte, må du selv skrive koden for hvordan bokstaver skal bli representert. Vi skal gjøre dette noe forenklet, men i teorien skal du kunne få skilpadden til å tegne, dersom du bruker litt god tid, ved å skrive Skriv("Jeg er en Skilpadde")
. Men vi skal gjøre det på en litt mer hacky måte. I eksempelet under viser jeg hvordan du kan lage en funksjon til å tegne bokstaven A.
For å forstå hva jeg mente med å konvertere til at man kan skrive Skriv("AAA")
, så skriver jeg eksempelet her. Det er egentlig en dårlig måte å gjøre det på, do as I say, not as I do: