Ga naar hoofdinhoud

1.4 Bouwsteen 2 — vergelijken met het doel

Leerdoel: je voegt een if-vergelijking toe binnen je lus, zodat je alleen iets doet als het element gelijk is aan wat je zoekt.

Wat we willen

We willen tijdens het doorlopen controleren of het huidige element gelijk is aan ons doel. Zo ja → iets melden. Zo nee → doorlopen.

Voorspel

Wat denk je dat dit print? Let goed op de inspringing.

lijst = [3, 1, 4, 1, 5]
doel = 4
for waarde in lijst:
if waarde == doel:
print("gevonden!")
Antwoord
gevonden!

Eén keer "gevonden." — namelijk wanneer waarde gelijk is aan 4. Voor de andere elementen (3, 1, 1, 5) is de if onwaar en wordt er niets geprint.

Run

Python
Code-omgeving wordt voorbereid…

Experimenteer

  • Verander doel in 1. Wat print het nu?
  • Verander doel in 9. Wat print het?
Wat zie je?
  • doel = 1twee keer "gevonden." (1 staat twee keer in de lijst).
  • doel = 9niets (9 staat niet in de lijst). Het programma loopt netjes af zonder fout, maar zonder output.

Bouwsteen model

Vergelijken met het doel

Oefen de boolean die zegt of de huidige waarde raak is.

Stap 2/3Vergelijkingen 2Resultaat -
03
11
24
31
45
Controleer index 1

1 is niet gelijk aan 4. We gaan door.

De vergelijking gebeurt tussen de actieve waarde en het doelgetal.

Feedback
raak

Input is_doel(4, 4)

Verwacht true

mis

Input is_doel(3, 4)

Verwacht false

negatieve match

Input is_doel(-2, -2)

Verwacht true

== versus =

Let op een veelgemaakte fout:

  • = is toekenning: x = 5 betekent "zet 5 in x".
  • == is vergelijking: if x == 5 betekent "klopt het dat x gelijk is aan 5?".

In een if moet je == gebruiken — anders krijg je een SyntaxError.

Wat nu nog mist

We melden dat we iets vinden, maar we geven nog niets terug en we zeggen ook niet waar in de lijst we het gevonden hebben (de index).

Door naar bouwsteen 3: index teruggeven.