test

Deze Scratch-klassieker ken je zeker. Misschien gebruik je het tijdens je lessen zelfs als eerste oefening op de herhaling.

De gebruiker geeft op in hoeveel stapjes je de sprite telkens 50% kleiner maakt.

De code in Scratch zou er dan als volgt kunnen uitzien:

when greenflag clicked ask "Hoeveel keer moet ik kleiner worden?" and wait set [stappen] to {(answer)} repeat (stappen) set size to {50} % wait {1} seconds end

Hoe programmeer je dit in Python?

De syntax van de for-lus ziet er als volgt uit:

for <variabele> in <collectie>:
      <acties>

Merk opnieuw op dat alle acties die horen bij de for-lus één tabulatie naar recht springen. In volgende secties tonen we hoe je enkele statements meerdere keren kan uitvoeren.

n keer herhalen

De functie range(5) genereert een collectie van de getallen 0 t.e.m. 4. De variabele i neemt dan achtereenvolgens de waarden 0, 1, 2, 3 en 4 aan. Dit code-fragment print de getallen 0, 1, 2, 3 en 4 onder elkaar.

for i in range(5):
     print(i)

Tellen in stapjes van 1

De functie range(3, 7) genereert een collectie van de getallen 3 t.e.m. 6. De variabele i neemt dan achtereenvolgens de waarden 3, 4, 5 en 6 aan. Dit code-fragment print de getallen 3 tot 6 onder elkaar.

for i in range(3,7):
     print(i)

Tellen in stapjes verschillend van 1

De functie range(8, 2, -2) genereert een collectie van de getallen 8, 6 en 4. De variabele i neemt dan achtereenvolgens de waarden 8, 6 en 4 aan. Dit code-fragment print de getallen 8, 6 en 4 onder elkaar.

for i in range(8,2,-2):
     print(i)

Opgave

Vraag aan de gebruiker de grootte op van de sprite en het aantal stapjes waarin je de sprite telkens 50% kleiner wil maken. Beide getallen zijn positieve gehele getallen.

Een wiskundige zal allicht het n-de element van een meetkundige rij proberen berekenen. Aangezien de leerlingen in de 2e graad hiermee nog niet vertrouwd zijn, programmeer je dit best met de for-lus.

Voorbeeld

Invoer:
94
6
Uitvoer:
1.46875