Les 2b: Loop in Loops

Je kunt ook een loop in een ander loop gebruiken! Kijk maar eens naar het volgende figuur:

We doen eigenlijk zes keer hetzelfde:

  • teken vierkant

  • draai 90 graden naar rechts

  • loop langs een zijde

  • draai 30 graden links

import turtle
turtle.speed(0)

for _ in range(6):
  turtle.forward(30) # Het gele stuk tekent een vierkant
  turtle.right(90)
  turtle.forward(30)
  turtle.right(90)
  turtle.forward(30)
  turtle.right(90)
  turtle.forward(30)
  turtle.right(90)
  
  turtle.right(90)   # Draai 90 graden terug en
  turtle.forward(30) # loop langs de zijde
  turtle.left(30)   

Maar programmeurs houden niet van onnodige code. Het gele stuk bevat vier keer dezelfde twee regels! Dus daar maken we een loop van. En dan krijg je de code zoals hieronder:

import turtle
turtle.speed(0)

for _ in range(6):
  for _ in range(4):   # een vierkant met een loop
    turtle.forward(30)
    turtle.right(90)
  
  turtle.right(90)
  turtle.forward(30)
  turtle.left(30)

Opdracht 1

Teken:

Opdracht 2

Taken:

Opdracht 3

Voer het volgende programma uit en bantwoord dan de vraag die onder de code staat:

import turtle

turtle.shape("turtle")        

turtle.setheading(90)

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

turtle.right(90)

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

turtle.right(90)

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

turtle.right(90)

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

turtle.right(90)

Vraag: Kan dit programma korter? Zo ja, hoe?

Wandel-mode (pen optillen)

In principe is de turtle steeds in pen-mode. Dit betekent dat hij steeds een lijn aan het tekenen is terwijl hij beweegt. De turtle kan ook in wandel-mode terecht. Dan kan hij bewegen, terwijl hij geen spoor nalaat. Je kunt tijdens het uitvoeren van een programma meerdere keren naar pen-mode of wandel-mode.

Door het commando turtle.up() in te geven kom je in wandel-mode terecht. Door het commando turtle.down() in te geven kom je in pen-mode terecht.

Opdracht 4

a] Schrijf een programma dat de onderstaande tekening maakt.

b] Schrijf een programma dat de onderstaande tekening maakt.

Opdracht 5

Maak de volgende figuren:

Last updated