D Herhaling

De algoritmen die je tot nu toe geschreven hebt, zijn nog niet erg efficiƫnt. Voor het tekenen van een vierkant (vier lijnen en hoeken) had je acht tekenopdrachten nodig. In dit onderdeel zul je zien hoe dat handiger kan.

De eerste stap in het efficiƫnt opschrijven van algoritmen is het gebruik van de herhalingsstructuur. Wanneer je kijkt naar het algoritme voor het tekenen van een vierkant, dan zie je dat er vier keer hetzelfde staat. Je gaat vier keer vooruit en naar rechts. Of, om precies te zijn: je gaat vier keer (vooruit en naar rechts). In Python kan je op onderstaande manier een herhaling maken

import turtle
t = turtle.Turtle()

zijde=50
for i in range(4):
  t.forward(zijde)
  t.left(90)

Hoe werkt dit:
Achter for zie je een i, dit is een variabele deze mag je noemen hoe je zelf wilt. Meestal wordt daar een letter i gebruikt als afkorting van integer (geheel getal). Je mag dit noemen zoals jij zelf wilt.

range(4) is een lijst met getallen van 0 tot 4. Als deze lijst is doorlopen stopt de herhaling.

Onderstaande code zou precies hetzelfde doen.

import turtle
t = turtle.Turtle()

zijde=50
for getal in [0,1,2,3]:
  t.forward(zijde)
  t.left(90)

De variabele heet hier getal en de range(4) is vervangen door de getallen [0,1,2,3]

Hetgeen je meerdere keren wilt uitvoeren staat onder de for en is een stukje ingesprongen.

Wanneer je het inspringen beeindigd, hoort het niet meer bij de herhaling.

Dus bij bovenstaande code zullen alleen regel 6 en 7 herhaald worden. De code werkt maar is onoverzichtelijk. Beter kan je vertellen wat er gebeurt zoals hieronder.

Variabele printen

Je kan goed zien wat er met de variabele gebeurt door deze op het scherm af te drukken.

import turtle
t = turtle.Turtle()

zijde=50
for i in range(4):
  t.forward(zijde)
  t.left(90)
  t.write(i)  # schrijft in je tekening
  print(i)    # schrijft in je console

Een veel gemaakte fout is dat de : achter de for regel wordt vergeten. Dus let daarop!