0%

Waarden en variabelen · oefening

Variabelen kunnen veranderen

Een variabelenaam kan later in het programma naar een andere waarde verwijzen. Juist omdat de waarde kan veranderen, noemen we het een variabele.

Voer dit voorbeeld uit:

Try it

Aan dezelfde variabele wordt twee keer een waarde toegewezen. De tweede toewijzing vervangt de waarde die op dat moment bij status hoort.

Python drukt beide woorden af, omdat de eerste printinstructie wordt uitgevoerd voordat de waarde verandert:

waiting
ready

Volg het programma regel voor regel

Stel je voor dat Python de huidige waarde van status op een briefje bijhoudt:

Na deze regelHuidige waarde van status
status = "waiting""waiting"
print(status)nog steeds "waiting"
status = "ready""ready"
print(status)nog steeds "ready"

Met Step zie je deze tabel terug in het echte programma. Ga in de oefeneditor instructie voor instructie vooruit en houd status in het paneel Locals in de gaten. De waarde verandert alleen wanneer Python een toewijzing uitvoert. De uitvoer verandert alleen wanneer Python een printinstructie uitvoert. Ga een of twee stappen achteruit om beide toestanden weer op een eerder moment te bekijken.

De variabele houdt niet automatisch een geschiedenis van oude waarden bij. De naam verwijst naar de waarde die het laatst is toegewezen.

Daarom is het belangrijk om code van boven naar beneden te lezen. De waarde van een variabele hangt af van de toewijzingen die Python al heeft uitgevoerd.

Wat drukt dit programma af?

score = 5
print(score)
score = 8
print(score)

Toewijzen is een handeling

In de wiskunde beschrijft een gelijkteken een gelijkheid. Bij een toewijzing in Python geeft het een handeling aan.

color = "blue"
color = "green"

Python beweert niet dat blauw en groen gelijk zijn. Het wijst eerst de ene waarde toe en daarna de andere.

Later leer je hoe Python controleert of twee waarden gelijk zijn. Daarvoor gebruik je twee gelijktekens: ==. Onthoud voorlopig dat één gelijkteken een waarde toewijst.

Voeg nog een verandering toe

De startcode drukt twee fasen af:

waiting
still waiting

Voeg onder de bestaande code het volgende toe:

  1. Wijs de string "ready" toe aan status.

  2. Druk status opnieuw af.

De volledige uitvoer moet zijn:

waiting
still waiting
ready

Gebruik voor alle drie de fasen dezelfde variabele. Maak geen status2 en druk het woord ready niet rechtstreeks af.

Als de laatste regel nog still waiting zegt, controleer dan of de nieuwe toewijzing vóór de laatste printinstructie staat.

Opdracht

Voeg een derde fase toe aan de startcode. Wijs "ready" toe aan de bestaande variabele status en druk status daarna opnieuw af.

De volledige uitvoer moet zijn:

waiting
still waiting
ready

Klik na het toevoegen van de derde fase op Step in de werkbalk van de editor. Kijk hoe status in het paneel Locals verandert van "waiting" naar "still waiting" en ten slotte naar "ready", terwijl elke afgedrukte regel op het bijbehorende moment verschijnt.