Ga naar hoofdinhoud

Stap 1: Steeds groter (de loopvariabele)

info

Deze stap gebruikt de for-loop, uit De for-loop, en rekenen, uit Rekenmachine.

In Veelhoeken en sterren deed de loop elke ronde precies hetzelfde. De variabele achter for telt ondertussen mee: 0, 1, 2, en zo verder. Die kun je zelf gebruiken:

import turtle

turtle.penup()
for i in range(5):
turtle.dot(10 + i * 10, "orange")
turtle.forward(60)
import turtle

turtle.penup()
for i in range(5):
    turtle.dot(10 + i * 10, "orange")
    turtle.forward(60)
Rondei10 + i * 10
1010
2120
3230
4340
5450

Elke ronde is i één groter, dus elke stip is 10 breder dan de vorige. Met Stap voor stap zie je i per ronde veranderen.

Opdracht: van groot naar klein​

Teken zes stippen in "teal", 70 uit elkaar. De eerste is 60 breed, en elke volgende is 10 kleiner.

Zes blauwgroene stippen op een rij, van links naar rechts steeds kleiner

import turtle

turtle.penup()
for i in range(5):
    turtle.dot(10 + i * 10, "orange")
    turtle.forward(60)
Klik hier voor een tip.

In de eerste ronde is i 0, en moet de stip 60 zijn. Elke ronde gaat er 10 af, dus je trekt i * 10 af van 60.

Klik hier voor de oplossing.
import turtle

turtle.penup()
for i in range(6):
turtle.dot(60 - i * 10, "teal")
turtle.forward(70)

De laatste stip, bij i gelijk aan 5, is 60 min 50: 10 breed.

Er gaat iets mis​

import turtle

turtle.penup()
for i in range(5):
turtle.dot(i * 10, "orange")
turtle.forward(60)

Je ziet maar vier stippen, en links een leeg stuk.

Oorzaak: i begint bij 0, niet bij 1. De eerste stip is dus 0 breed, en die zie je niet.

Oplossing: tel er iets bij op, zoals 10 + i * 10, of laat de loop bij een ander getal beginnen. Hoe dat laatste gaat, zie je in stap 2.

Door naar stap 2: range met stappen.