Ga naar hoofdinhoud

Stap 1: Een vierkante spiraal (while-loop)

info

Deze stap gebruikt de while-loop, uit De while-loop.

Bij een vierkant is elke zijde even lang. Maak je elke zijde een stukje langer dan de vorige, dan draait de schildpad naar buiten: een spiraal. Hoe vaak dat moet, weet je niet precies. Wel wanneer hij moet stoppen: als de lijn te lang wordt. Daarvoor is de while-loop:

import turtle

lengte = 5

while lengte < 200:
turtle.forward(lengte)
turtle.left(90)
lengte += 5
import turtle

lengte = 5

while lengte < 200:
    turtle.forward(lengte)
    turtle.left(90)
    lengte += 5

Zolang lengte kleiner is dan 200, loopt de schildpad een stuk, draait hij, en wordt lengte 5 groter. Bij 200 is de vraag niet meer waar, en stopt de loop.

Opdracht: een driehoekige spiraal​

Maak een spiraal met drie hoeken in plaats van vier, die doorgaat tot de lijn 300 lang is. Maak elke lijn 8 langer dan de vorige, en teken in "purple".

Een paarse spiraal die in driehoeken naar buiten draait

Klik hier voor een tip.

Een driehoek draait 120 graden per hoek. Verander ook de 200 in de vraag en de 5 onderaan de loop.

Klik hier voor de oplossing.
import turtle

turtle.pencolor("purple")
lengte = 5

while lengte < 300:
turtle.forward(lengte)
turtle.left(120)
lengte += 8

Er gaat iets mis​

import turtle

lengte = 5

while lengte < 200:
turtle.forward(lengte)
turtle.left(90)

De schildpad blijft rondjes lopen over hetzelfde vierkantje, en je programma stopt nooit. In de speeltuin loopt je browsertab dan vast.

Oorzaak: lengte += 5 ontbreekt. lengte blijft 5, dus lengte < 200 blijft voor altijd waar.

Oplossing: zorg dat de loop iets verandert aan wat de vraag bovenaan controleert. Kopieer je code eerst naar een kladblok voordat je een while-loop probeert, dan ben je hem niet kwijt als de tab vastloopt.

Door naar stap 2: stippen tot de rand.