Python is voor kinderen een leuke programmeertaal om mee te beginnen. Het is leuk om te beginnen met de Turtle Graphics, dit maakt het programmeren heel visueel. Voordat je met Python begint is het wel handig om eerst wat ervaring met Scratch te hebben.
Open Python 3 op je bureaublad.
Het scherm wat je nu ziet heet de Python Shell.
In de Python Shell kun je opdrachten geven achter de prompt >>>. Kijk naar het voorbeeld hieronder en typ de volgende twee regels in:
import turtle turtle.forward(100)
Je ziet nu dat er nog een venster geopend wordt. Dit is je tekenblaadje van Turtle Graphics. De lijn die je ziet is 100 pixels. We gaan nu proberen een vierkantje te maken. Hiervoor heb je deze opdracht regel nodig, je draait dan 90 graden linksom:
turtle.left(90)
Herhaal turtle.forward(100)
en turtle.left(90)
totdat je een vierkantje hebt zoals het voorbeeld hieronder.
Om je tekenblaadje weer leeg te maken typ je:
turtle.clear()
We gaan nu het programma om een vierkant te tekenen wat korter opschrijven. Dan lijkt het al meer op echt programmeren. We gebruiken daarvoor een for loop. Een loop is een herhaling of lus en is bedoeld voor het herhalen van stukjes code. We beginnen de loop met deze regel:
for i in range (4):
De i
in deze regel is een variable. Je mag daarvoor ook een andere letter of zelf een woordje bedenken. in range (4)
betekent dat de regels die onder de for loop staan, vier keer herhaald worden, van 0 t/m 3. Vergeet niet de dubbele punt aan het eind :
Over de functie range()
krijg je in de volgende les meer informatie.
Om te zien dat de herhaling van 0 t/m 3 gaat kun je even deze twee regels intypen:
for i in range (4): print (i)
Nu gaan we het programma schrijven voor het maken van een vierkant.
for i in range (4): turtle.forward(100) turtle.left(90)
We hebben de opdrachten tot nu toe in de Python Shell getypt. Je kunt ook een nieuw blaadje openen en daar je programma in schrijven en dit opslaan. Klik in het menu bovenin op File en dan op New File, je krijgt nu een leeg blaadje waar je het programma in kunt typen. Kijk naar het voorbeeld hieronder:
import turtle for i in range (4): turtle.forward(100) turtle.left(90)
Om het programma op te slaan klik je op File en dan op Save en dan zie je allemaal mappen, dubbelklik op Documents en typ bij File name vierkant en klik op Save.
Druk nu op je toetsenbord op F5, het Turtle Graphics scherm opent nu en als het goed is komt er een vierkant.
De hoek van een vierkant is altijd 90 graden. Maar waarom eigenlijk? Kunnen we het berekenen? Ja dat kan met de formule 360 ÷ 4. Een circel is 360 graden (360º) en we gaan het verdelen in 4 hoeken. Een hoek is dan 90º. We kunnen ook een veelhoek programmeren. Willen we bijvoorbeeld een 6 hoekig figuur, dan moeten we 360º delen door 6 (360/6). We hoeven dit niet zelf uit te rekenen, dat kan Python ook. Ons Python programma wordt dan:
import turtle for i in range (6): turtle.forward(100) turtle.left(360/6)
Nu je weet hoe je een 6 hoekig figuur maakt kun je ook een 8 hoekig figuur maken. Probeer het maar eens in Python.
VoorbeeldWe gaan nu het vierkant of je veelhoek wat mooier maken, met kleurtjes en dikke lijnen. We voegen daarvoor onderstaande 3 regels toe:
turtle.color("green") turtle.penzise(5) turtle.bgcolor("black")
Druk op F5 om je programma uit te voeren. Sla het wel eerst op. Probeer nog meer kleuren en veelhoek vormen. Kijk voor de kleuren namen op de afbeelding onderaan de pagina.
Een range is een reeks opeenvolgende getallen. Als je een herhaling gaat gebruiken met bijvoorbeeld een for loop
dan heb je ook de range()
functie nodig. Er zijn veel mogelijkheden voor de range()
functie.
Hieronder een aantal voorbeelden:
range(5)
geeft 0,1,2,3,4 ofwel 0 tot 5. Zoals je ziet begint Python bij 0 te
tellen als je geen begin opgeeft. Met een for()
loop en een print()
functie kun je de getallen printen, zie het voorbeeld hieronder.
for i in range(5): print (i)
Je kunt ook een begin getal opgeven. Je geeft dan eerst het begin getal en daarna het getal waar Pyton onder moet blijven. range(1,11)
geeft 1,2,3,4,5,6,7,8,9,10 ofwel 1 tot 11
Je kunt ook nog getallen overslaan door de stapgrootte op te geven. range(1,11,2)
geeft 1,3,5,7,9 en telt dus met sprongen van 2
Je kunt ook de stapgrootte negatief maken waardoor je bijvoorbeeld kan beginnen met 10 en eindigen met 1.
range(10, 0,-1)
geeft 10, 9,8,7,6,5,4,3,2,1
Maak een programma dat de getallen 2, 4, 6, 8 print. Gebruik de functies: for()
en range()
en print()
Maak een programma dat de getallen 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 print. Gebruik de functies: for()
en range()
en print()
Voordat je aan deze les begint moet je eerst de les vierkant tekenen gedaan hebben. In deze les gaan we verschillende sterren tekenen, we beginnen met een ster met 5 punten.
Open Python 3 en open een nieuw blaadje met File, New File.
Hieronder zie je de regels die je moet intypen.
import turtle for i in range (5): turtle.forward(200) turtle.left(144)
De eerste regel import turtle
is nodig als eerste regel omdat je daarmee aangeeft dat je de Turtle module
in je programma gebruikt, er zijn heel veel modules, bijvoorbeeld de random module voor genereren van willekeurige getallen
de tkinter module voor het maken van windows voor je programma.
De volgende regel for i in range (5):
geeft aan dat de regels die eronder staan 5 keer herhaald moeten worden. De regel turtle.forward(200)
laat de turtle
200 pixels naar voren gaan, de regel turtle.left(144)
geeft aan dat de turtle 144 graden draait.
Sla het op in Documents en geef het een naam. Test het programma met F5.
Kun je nu zelf bedenken hoe je de lijn een kleurtje geeft? En de lijn dikker maken? En een achtergrondkleur? Je kunt ook nog even terug kijken in de les vierkant maken.
Laten we nu een ster maken met veel punten. Typ onderstaad programma over en sla het op en test het met F5:
import turtle for i in range (18): turtle.forward(200) turtle.left(100)
En probeer ook eens dit voorbeeld:
import turtle for i in range (90): turtle.forward(200) turtle.left(92)
Kun je zelf ook een ster bedenken met heel veel punten? Probeer ook met kleurtjes te werken. In het onderstaande
voorbeeld komt er de opdracht turtle.begin_fill()
en turtle.end_fill()
bij. Type het over en kijk wat er gebeurt:
import turtle turtle.color("yellow") turtle.bgcolor("black") turtle.begin_fill() for i in range (18): turtle.forward(200) turtle.left(100) turtle.end_fill()
Tot nu toe begonnen we altijd te tekenen met de Turtle in het midden van het blaadje. We gaan nu de turtle verplaatsen zodat
hij ergens anders op het papier kan beginnen. De turtle kan met turtle.up()
van het papier af, en met turtle.down()
op het papier gezet worden. met
turtle.setposition(x, y)
kun je de turtle naar een andere plek toe brengen. Je moet dan dus de x en y waarde van die plaats hebben. Probeer onderstaand voorbeeld maar eens uit. Je
kunt het kopieren en plakken.
import turtle turtle.color("blue") turtle.begin_fill() for i in range (5): turtle.forward(100) turtle.left(144) turtle.end_fill() turtle.up() turtle.setposition(0, 100) turtle.down() turtle.color("red") turtle.begin_fill() for i in range (5): turtle.forward(100) turtle.left(144) turtle.end_fill() turtle.up() turtle.setposition(-150, 50) turtle.down() turtle.color("green") turtle.begin_fill() for i in range (5): turtle.forward(100) turtle.left(144) turtle.end_fill()
Kun je nog meer sterren op één tekenblaadje maken? Kopieer en plak de code voor één ster en plak het onderaan je programma. Pas turtle.setposition(x, y)
aan met andere waarde voor x en y. Test je programma met F5
Voordat je aan deze Python les begint is het leuk om op de Code.org website eens te oefenen met programmeren in het thema Frozen, met Anna en Elsa. Code.org
Net als in Code.org gaan we parallelogrammen programmeren, maar nu in een echte programmeertaal: Python. We gebruiken daarvoor weer een for loop
. De naam elsa wordt hier als variabele gebruikt voor de Turtle() functie.
import turtle elsa=turtle.Turtle() for x in range (2): elsa.forward(100) elsa.right(60) elsa.forward(100) elsa.right(120)
Sla je programma op en noem het maar elsa. Druk weer op F5 om je programma te testen.
Is het gelukt? Zie je een parallellogram? Krijg je foutmeldingen controleer nog eens je programma. De volgende stap is deze parallellogram 4 keer herhalen met een draai van 90 graden. Je krijgt dus een for loop in een for loop
import turtle elsa=turtle.Turtle() for x in range (4): for x in range (2): elsa.forward(100) elsa.right(60) elsa.forward(100) elsa.right(120) elsa.right(90)
We gaan nu nog wat kleur gebruiken voor de achtergrond turtle.Screen()
en de kleur en dikte van de lijn. Kies zelf welke kleuren je wilt.
import turtle elsa=turtle.Turtle() wn=turtle.Screen() wn.bgcolor("blue") elsa.color ("silver") elsa.pensize (3) for x in range (4): for x in range (2): elsa.forward(100) elsa.right(60) elsa.forward(100) elsa.right(120) elsa.right(90)
In deze les leer je hoe je in Python kunt stempelen. In Scratch kun je dit ook doen, kijk maar eens naar het voorbeeld hieronder:
In Python kun je stempelen met de code regel: turtle.stamp() of zoals in het voorbeeld hieronder met mijnstempel.stamp() omdat we hebben geschreven mijnstempel=turtle.Turtle(). mijnstempel is hier de variabele. Open in Python een New File en typ het voorbeeld hieronder over, sla het op en druk op F5
import turtle mijnstempel = turtle.Turtle() mijnstempel.shape("circle") mijnstempel.penup() mijnstempel.forward(50) mijnstempel.stamp() mijnstempel.forward(50) mijnstempel.stamp() mijnstempel.forward(50) mijnstempel.stamp()
Bewaar je programma door het op te slaan. Test je programma uit met F5.
Ging alles goed? Zag je ook deze 3 circels?
Dan heb je het goed gedaan! Lees verder.
Je kunt de vorm van de stemel ook aanpassen, je moet dan in plaats van “circle” de naam van een andere vorm intypen, je kunt kiezen uit: “arrow”, “turtle”, “circle”, “square”, “triangle”, “classic” Probeer het maar eens!
enGelukt? Ga dan verder
Je kunt door een herhaling te gebruiken het programma ook wat korter maken, kijk maar eens hoe dat ging in Scratch:
In Python kun je daar deze regel voor gebruiken: for i in range (3):
i is hier ook een variabele, je mag zelf een letter bedenken.
Bewerk je vorige stempelprogramma en maak er onderstaand voorbeeld van:
import turtle mijnstempel = turtle.Turtle() mijnstempel.shape("turtle") mijnstempel.penup() for i in range (3): mijnstempel.forward(50) mijnstempel.stamp()
Je kan jouw stempel ook een kleur geven met mijnstempel.color("red")
. Weet jij waar je deze regel ertussen moet zetten? Probeer het maar gewoon uit.
Wil je zien welke kleurennamen er nog meer zijn? Klik hier voor alle kleuren namen in Python.
Om dit te bereiken moeten we de for loop for i in range (3):
aanpassen. In plaats van range (3)
kunnen we daar ook 3 namen van kleuren schrijven.
Hieronder een voorbeeld:
for i in ["orange", "cyan","purple"]: mijnstempel.color(i) mijnstempel.forward(50) mijnstempel.stamp()
Je kunt ook een lijst maken met de kleuren namen. Die lijst geef je mee aan een variabele. In plaats van range (3)
kunnen we daar de varabele van de lijst neerzetten. Je leert meer over lijsten in deze les. Bijvoorbeeld:
kleuren =["orange", "cyan","purple"] for i in kleuren : mijnstempel.color(i) mijnstempel.forward(50) mijnstempel.stamp()
Tot zover de les stempelen. Het maken van lijsten komt ook nog terug in de volgende lessen.
Wil je begeleiding in het leren programmeren of heb je zelf niet de materialen om er mee aan de slag te gaan dan kun je ook lessen volgen bij de CodingkidsClub in Enschede. De lessen worden elke vrijdagmiddag gegeven door basisschoolleerkracht Tamara Heskamp. De lessen zijn bedoeld voor kinderen van 7 tot en met 12 jaar. De materialen die gebruikt worden zijn: mBot, Sparki, Bee-bot, Raspberry Pi en Arduino. Een groot deel van de lessen die aan bod komen staan al op codingkids.nl.