Python

Zoals we in de vorige les hebben gezien is Python ook een programmeertaal. Deze taal is gemaakt door Guido van Rossum, een Nederlander. Bedrijven zoals Google en Apple gebruiken Python voor het schrijven van een deel van hun software.
We gaan nu de versie van Python leren gebruiken die Python3 wordt genoemd. Hiervoor moeten we eerst Python downloaden: https://www.python.org/downloads/ (NB het is niet van belang welke versie van Python je gaat gebruiken, zolang het versienummer maar met een 3 begint, wij hebben zojuist versie 3.6.3 gedownload...).
Nadat je dit hebt geïnstalleerd vind je nog een nieuw programma op je computer, namelijk IDLE. Er zijn heel veel verschillende programma's waarmee je Python code kunt schrijven, maar voor ons is IDLE het makkelijkste programma om te gebruiken.
Zoek het IDLE programma en open het. Nu kunnen we gaan leren coderen met Python! IDLE ziet er op jouw computer misschien net even anders uit, maar dat geeft niet, dit heeft geen invloed op de code die je schrijft.
We gaan nu de versie van Python leren gebruiken die Python3 wordt genoemd. Hiervoor moeten we eerst Python downloaden: https://www.python.org/downloads/ (NB het is niet van belang welke versie van Python je gaat gebruiken, zolang het versienummer maar met een 3 begint, wij hebben zojuist versie 3.6.3 gedownload...).
Nadat je dit hebt geïnstalleerd vind je nog een nieuw programma op je computer, namelijk IDLE. Er zijn heel veel verschillende programma's waarmee je Python code kunt schrijven, maar voor ons is IDLE het makkelijkste programma om te gebruiken.
Zoek het IDLE programma en open het. Nu kunnen we gaan leren coderen met Python! IDLE ziet er op jouw computer misschien net even anders uit, maar dat geeft niet, dit heeft geen invloed op de code die je schrijft.
De shell lijkt een beetje op het speelveld in Scratch, maar je ziet nu alleen tekst op het scherm. Het ziet er dus nu nog niet zo leuk uit als bijvoorbeeld Scratch, maar je kunt er super mooie dingen mee maken, dat zul je snel genoeg zien! De shell is de plaats waar je code kunt schrijven die je direct kunt uitvoeren.
|
Probeer deze commando's eens te typen en kijk wat er gebeurt. Druk na elk regel op ENTER op je toetsenbord.
10+10
10-5
10*5
10/5
print("Hello")
print ("Hello" * 100)
Inmiddels weten we door deze cursus hoe belangrijk de syntax is ( = de zinsbouw, de leestekens, de spaties... Python is erg precies hierin. Anders zie je vanzelf een foutmelding als deze: 'SyntaxError: EOL while scanning string literal'. Dit betekent dat je bijvoorbeeld een aanhalingsteken vergeten bent bij "Hello")
10+10
10-5
10*5
10/5
print("Hello")
print ("Hello" * 100)
Inmiddels weten we door deze cursus hoe belangrijk de syntax is ( = de zinsbouw, de leestekens, de spaties... Python is erg precies hierin. Anders zie je vanzelf een foutmelding als deze: 'SyntaxError: EOL while scanning string literal'. Dit betekent dat je bijvoorbeeld een aanhalingsteken vergeten bent bij "Hello")
Turtles
We gaan nu en beetje spelen met het onderdeel van Python dat de TURTLE genoemd wordt. Dit is een module die door Python gebruikt wordt voor het maken van tekeningen. Typ het volgende commando in de shell en druk op ENTER. Schrik niet als er nog niks gebeurt.
from turtle import *
En vervolgens typ je:
shape("turtle")
Je ziet nu een nieuw scherm met en plaatje van een turtle in het midden. Weten jullie nog welk programma hier ook mee werkt???
Nu gaan we onze turtle laten bewegen. Typ deze regels in de shell:
fd(100)
rt(90)
fd(100)
Misschien heb je al door dat fd forward 9=naar voren) betekent en rt right (=rechts). We kunnen ook bk gebruiken voor bakward (=naar achteren) en lt voor left (=links).
from turtle import *
En vervolgens typ je:
shape("turtle")
Je ziet nu een nieuw scherm met en plaatje van een turtle in het midden. Weten jullie nog welk programma hier ook mee werkt???
Nu gaan we onze turtle laten bewegen. Typ deze regels in de shell:
fd(100)
rt(90)
fd(100)
Misschien heb je al door dat fd forward 9=naar voren) betekent en rt right (=rechts). We kunnen ook bk gebruiken voor bakward (=naar achteren) en lt voor left (=links).
We gaan nu onze turtle naar het beginpunt laten komen en dan alle tekeningen die we gemaakt hebben van het scherm verwijderen:
home()
clear()
We kunnen ook de kleur en dikte van de pen veranderen die de turtle gebruikt om te tekenen. Probeer eens:
fd(50)
color('red')
fd(50)
color('green')
width(10)
fd(50)
We kunnen de pen optillen en weer neerzetten als we willen stoppen en starten met tekenen
home()
clear()
fd(100)
pu()
fd(100)
pd()
fd(100)
Als je een fout hebt gemaakt, kun je altijd het laatste commando ongedaan maken met:
undo()
Laten we nog een laatste commando uitproberen voordat je doorgaat met het echte werk. Op deze manier vertel je de turtle dat hij een cirkel moet tekenen:
circle(100)
home()
clear()
We kunnen ook de kleur en dikte van de pen veranderen die de turtle gebruikt om te tekenen. Probeer eens:
fd(50)
color('red')
fd(50)
color('green')
width(10)
fd(50)
We kunnen de pen optillen en weer neerzetten als we willen stoppen en starten met tekenen
home()
clear()
fd(100)
pu()
fd(100)
pd()
fd(100)
Als je een fout hebt gemaakt, kun je altijd het laatste commando ongedaan maken met:
undo()
Laten we nog een laatste commando uitproberen voordat je doorgaat met het echte werk. Op deze manier vertel je de turtle dat hij een cirkel moet tekenen:
circle(100)
Lussen en vormen
We hebben tot nu toe al onze commando's in de shell getypt. Dat is makkelijk, maar het betekent ook dat we alle mooie plaatjes kwijtraken zodra we IDLE afsluiten. We kunnen onze code wel bewaren als we de code schrijven in een bestand. Klik in IDLE op FILE en dan op NEW FILE. Er opent zich een nieuw scherm waar je je code schrijft. We beginnen op dezelfde manier als in het begin:
from turtle import *
shape("turtle")
Deze keer gebeurt er niks als je op ENTER klikt. Dat komt doordat we niet in de shell zitten. Om het bestand uit te voeren moeten we eerst FILE, SAVE en dan RUN kiezen. Als je het bestand voor de eerste keer opslaat moet je het en naam geven. Noem het lus.py
from turtle import *
shape("turtle")
Deze keer gebeurt er niks als je op ENTER klikt. Dat komt doordat we niet in de shell zitten. Om het bestand uit te voeren moeten we eerst FILE, SAVE en dan RUN kiezen. Als je het bestand voor de eerste keer opslaat moet je het en naam geven. Noem het lus.py
Laten we eens iets aparts doen. Voeg een NEW FILE toe met deze code (NB voor het woord fd en lt zitten 4 spaties...):
from turtle import *
shape("turtle")
for move in range(6):
fd(50)
lt(360/6)
Sla je code op (dus weer als lus.py ).
Je hebt zojuist je eerste lus gemaakt in Python! Het woord FOR start de lus. De regels IN RANGE(6) zorgt ervoor dat de lus 6x herhaalt wordt. Kijk eens wat er gebeurt als je in de code het cijfer 6 verandert in 5... of in 8...
from turtle import *
shape("turtle")
for move in range(6):
fd(50)
lt(360/6)
Sla je code op (dus weer als lus.py ).
Je hebt zojuist je eerste lus gemaakt in Python! Het woord FOR start de lus. De regels IN RANGE(6) zorgt ervoor dat de lus 6x herhaalt wordt. Kijk eens wat er gebeurt als je in de code het cijfer 6 verandert in 5... of in 8...
We kunnen veel dingen doen met lussen. Laten we dit eens proberen:
Open een nieuw bestand en noem dit ster.py
Voeg nu deze code toe:
from turtle import *
shape("turtle")
begin_fill()
size = 100
for move in range(9):
fd(size)
rt(160)
Deze code laat de turtle 100 pixels naar voren bewegen en dan 160 graden draaien. Dit wordt 9x gedaan.Bewaar de code en voer m uit om te zien hoe het eruit ziet.
We gaan m nu verschillende kleuren geven:
from turtle import *
shape("turtle")
color("green","purple")
begin_fill()
size = 100
for move in range(9):
fd(size)
rt(160)
end_fill()
Hiermee kun je natuurlijk eindeloos experimenteren!
Probeer deze ook nog even:
from turtle import *
shape("turtle")
color("red","orange")
begin_fill()
size = 100
for move in range(20):
fd(120)
bk(60)
pu()
rt(6)
bk(50)
pd()
lt(24)
end_fill()
Open een nieuw bestand en noem dit ster.py
Voeg nu deze code toe:
from turtle import *
shape("turtle")
begin_fill()
size = 100
for move in range(9):
fd(size)
rt(160)
Deze code laat de turtle 100 pixels naar voren bewegen en dan 160 graden draaien. Dit wordt 9x gedaan.Bewaar de code en voer m uit om te zien hoe het eruit ziet.
We gaan m nu verschillende kleuren geven:
from turtle import *
shape("turtle")
color("green","purple")
begin_fill()
size = 100
for move in range(9):
fd(size)
rt(160)
end_fill()
Hiermee kun je natuurlijk eindeloos experimenteren!
Probeer deze ook nog even:
from turtle import *
shape("turtle")
color("red","orange")
begin_fill()
size = 100
for move in range(20):
fd(120)
bk(60)
pu()
rt(6)
bk(50)
pd()
lt(24)
end_fill()
Functies
Functies zijn heel handig als je steeds maar weer hetzelfde stuk code wilt gebruiken. Ze lijken heel erg op de maatwerkblokken die we in Scratch hebben gebruikt. Maak een nieuw bestand en noem het fun.py
We beginnen met n simpele functie die n viekant tekent:
from turtle import *
shape('turtle')
def square():
for side in range(4):
fd(100)
rt(90)
square()
Die laatste regel is erg belangrijk, omdat je daarmee de computer vertelt dat hij de functiecode moet gebruiken. Nu hebben we dus een vierkant getekent.
We kunnen deze functie aanroepen binnen een lus. Voeg daarvoor een paar regels toe aan jouw code, zodat hij er zo uitziet:
from turtle import *
shape('turtle')
def square():
for side in range(4):
fd(100)
rt(90)
for times in range(5):
square()
rt(72)
Komt ie je bekend voor? ;-)
We beginnen met n simpele functie die n viekant tekent:
from turtle import *
shape('turtle')
def square():
for side in range(4):
fd(100)
rt(90)
square()
Die laatste regel is erg belangrijk, omdat je daarmee de computer vertelt dat hij de functiecode moet gebruiken. Nu hebben we dus een vierkant getekent.
We kunnen deze functie aanroepen binnen een lus. Voeg daarvoor een paar regels toe aan jouw code, zodat hij er zo uitziet:
from turtle import *
shape('turtle')
def square():
for side in range(4):
fd(100)
rt(90)
for times in range(5):
square()
rt(72)
Komt ie je bekend voor? ;-)
Toverkunst
Nu gaan we onze turtle een visueel grapje laten uithalen. Maak een nieuw bestand en bewaar het als illusie.py
We beginnen met een paar extra commando's om ons programma op te zetten:
from turtle import *
speed()
bgcolor("black")
width(10)
We beginnen met een paar extra commando's om ons programma op te zetten:
from turtle import *
speed()
bgcolor("black")
width(10)