0%

Beslissingen nemen · oefening

Vergelijk waarden

In de vorige les gebruikte je < om te vragen of het ene getal kleiner was dan het andere. Python heeft zes vergelijkingsoperatoren om precieze vragen over waarden te stellen.

Elke vergelijking is een expressie. Python evalueert die en levert True of False op.

Zes vergelijkingsoperatoren

OperatorVraag die hij stelt
==Zijn deze waarden gelijk?
!=Zijn deze waarden ongelijk?
<Is de linkerwaarde kleiner dan de rechterwaarde?
<=Is de linkerwaarde kleiner dan of gelijk aan de rechterwaarde?
>Is de linkerwaarde groter dan de rechterwaarde?
>=Is de linkerwaarde groter dan of gelijk aan de rechterwaarde?

De volgorde van de tekens in <= en >= is belangrijk. Schrijf eerst het kleiner-dan- of groter-dan-teken en daarna het gelijkteken.

Voer alle zes vergelijkingen uit:

Try it

Verander value en voer het voorbeeld opnieuw uit. Elke regel stelt een eigen vraag over de huidige waarde.

Toewijzing en gelijkheid zijn verschillend

Eén gelijkteken wijst een waarde toe:

score = 8

Lees dit als ‘wijs de waarde 8 toe aan score’. Het verandert waar de variabele naar verwijst.

Twee gelijktekens vergelijken waarden:

score == 8

Lees dit als ‘is de huidige waarde van score gelijk aan 8?’ Het levert een booleaanse waarde op en verandert score niet.

Dit voorbeeld laat beide bewerkingen zien:

Try it

De eerste regel wijst toe. De tweede regel vergelijkt en wijst daarna het resultaat van de vergelijking toe aan matches_target.

Python heeft beide operatoren nodig, omdat een waarde toewijzen en een vraag over een waarde stellen verschillende taken zijn.

Grenzen zijn belangrijk

Het verschil tussen > en >= is belangrijk bij een grenswaarde.

Try it

De eerste vergelijking is False, omdat 18 niet groter is dan 18. De tweede is True, omdat ‘groter dan of gelijk aan’ de grenswaarde zelf meeneemt.

Hetzelfde verschil geldt voor < en <=. Zeg de regel in woorden voordat je een operator kiest. Als de regel ‘minstens 18’ zegt, gebruik je >= 18. Als er ‘jonger dan 18’ staat, gebruik je < 18.

Strings kunnen ook gelijk zijn

Gebruik == en != om strings te vergelijken. Python vergelijkt hun tekens precies, inclusief hoofdletters en spaties.

Try it

Deze strings zijn niet gelijk, omdat de hoofdletter M en de kleine letter m verschillende tekens zijn. Je weet al hoe je .strip() en .lower() gebruikt wanneer een programma witruimte aan de randen of hoofdlettergebruik moet negeren. Dat passen we toe wanneer gebruikersinvoer later in dit hoofdstuk terugkomt.

Welke regel vraagt of tickets op dit moment de waarde 12 bevat?

Wat drukt deze code af?

stock = 5
print(stock <= 5)

Sla het antwoord op als je het nodig hebt

Een duidelijke booleaanse variabele kan een latere beslissing beter leesbaar maken:

Try it

De variabelenaam has_space beschrijft de vraag die de vergelijking beantwoordt. In de oefening maak je verschillende van zulke namen op basis van vaste gegevens. In de volgende les gebruik je die booleaanse resultaten om te bepalen of instructies moeten worden uitgevoerd.

Opdracht

Maak vier booleaanse waarden op basis van de vaste evenementgegevens.

  1. Stel has_space in door registered te vergelijken met capacity.

  2. Stel old_enough in door te controleren of visitor_age minstens minimum_age is.

  3. Stel name_matches in door entered_name met event_name op gelijkheid te vergelijken.

  4. Stel at_capacity in door te controleren of registered gelijk is aan capacity.

Laat de meegeleverde gegevens en vier printaanroepen ongewijzigd. Stuur in zodra het overzicht op elke regel het juiste booleaanse resultaat toont.