🖌️
Python 0
  • Les 1 - Je eerste tekeningen
  • Loops
    • Les 2 - Herhalen - For-loops
    • Les 3 - Geneste loops
  • Functies
    • Les 4 - Functies maken
    • Les 5 - Functies met parameters
  • Les 6 - Nog een keer loops … - range() goed gebruiken
Powered by GitBook
On this page
  • Inleiding in for-loops
  • Opdrachten
  • Moeilijkere patronen
  • Opdrachten

Was this helpful?

  1. Loops

Les 2 - Herhalen - For-loops

Inleiding in for-loops

Als je een vierkant wilt gaan tekenen met zijden van 100 pixels, dan zou je het volgende programma kunnen uitvoeren:

import turtle

turtle.shape("turtle")

turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)

Merk op dat de twee commando's turtle.forward(100) en turtle.right(90)vier keer worden herhaald! Zou het niet veel beter zijn als je de computer kort en krachtig kan aangeven dat hij die twee commando's vier keer moet uitvoeren? Dat kan! En hiervoor maak je gebruik van de herhaalinstructie (wordt ook een loop genoemd). Het bovenstaande programma kan dus ook als volgt worden geschreven:

import turtle

turtle.shape("turtle")

for i in range(4):
 turtle.forward(100)
 turtle.right(90)

De for-opdracht zorgt ervoor dat de twee opdrachten eronder vier keer worden uitgevoerd. Als er for i in range (14) zou staan bijvoorbeeld, dan zouden die twee opdrachten 14 keer worden herhaald.

Let wel op dat je eerst een tab plaatst voor de opdrachten die herhaald moeten worden. Dit noem je inspringen. Alles wat je wil herhalen krijgt dus een extra tab. Als je dat niet doet, dan krijg je een foutmelding.

Opdrachten

Opdracht 1

Voer het onderstaande programma uit en bekijk het resultaat. Kun jij het programma korter schrijven door gebruik te maken van een loop?

import turtle

turtle.shape("turtle")

turtle.forward(50)
turtle.right(60)
turtle.forward(50)
turtle.right(60)
turtle.forward(50)
turtle.right(60)
turtle.forward(50)
turtle.right(60)
turtle.forward(50)
turtle.right(60)
turtle.forward(50)
turtle.right(60)

Opdracht 2

Gebruik een loop om een vierkant te tekenen waarvan de zijden 200 pixels lang zijn.

Opdracht 3

Voer het onderstaande programma uit en bekijk het resultaat. Kun jij het programma korter schrijven door gebruik te maken van een loop?

import turtle

turtle.shape("turtle")

turtle.forward(100)
turtle.right(120)
turtle.forward(100)
turtle.right(120)
turtle.forward(100)
turtle.right(120)

Moeilijkere patronen

We gaan nu verder met nog meer uitleg. We zijn geïnteresseerd om het volgende figuurtje te tekenen door gebruik te maken van een loop:

Het eerste dat je doet is bepalen welk patroon steeds terugkeert. Dat moet je immers herhalen! Je zou bijvoorbeeld het volgende stukje als het te herhalen patroon kunnen aanmerken:

Uitgaande van de situatie dat je naar boven kijkt, zou je dit gedeelte als volgt kunnen maken:

turtle.forward(50)
turtle.backward(50)
turtle.right(90)
turtle.forward(50)

Nadat we de bovenstaande regels hebben uitgevoerd kijkt de turtle naar rechts. Zie maar in het onderstaande plaatje:

Het enige dat we moeten doen is ervoor zorgen dat de turtle weer naar boven kijkt. Voor de rest moet je het patroon steeds herhalen, zodat je uiteindelijk het gewenste plaatje krijgt. De turtle naar boven laten kijken doen we uiteraard met de opdracht turtle.left(90).

We krijgen dan het volgende gewenste resultaat:

Als we dezelfde code dan nog eens herhalen, dan krijgen we het volgende plaatje:

Nu zien we dus dat het idee werkt en kunnen we, zoals in het onderstaande programma ook te zien is, het patroon 5 keer herhalen.

Veel van de onderstaande opgaven kunnen met dezelfde aanpak opgelost worden. Denk eraan om eerst het herhalende patroon te ontdekken. Schrijf dan een programma dat dat patroon tekent. Denk vervolgens na over de heroriëntatie van de turtle zodat het patroon ook voor de tweede keer getekend kan worden. Schrijf dan een loop zodat je de hele tekening met een kort-en-krachtig programma kan gaan maken.

Opdrachten

Opdracht 4

Schrijf een programma dat de onderstaande trap tekent. Ga volgens de bovenstaande aanpak te werk.

Inleveropdracht - Ster

  1. Teken de onderstaande ster.

2. De bovenstaande ster heeft 8 stralen met een lengte van 150 pixels. Maak ook een ster met 16 stralen van lengte 100 pixels.

PreviousLes 1 - Je eerste tekeningenNextLes 3 - Geneste loops

Last updated 3 years ago

Was this helpful?

Screen Shot 2015-08-20 at 00.10.11.png