0%

Beslissingen nemen · oefening

Keer voorwaarden om en verduidelijk ze

De operatoren and en or combineren booleaanse waarden. Python heeft nog één booleaanse operator met een eenvoudige taak: not keert een booleaanse waarde om.

Keer een booleaanse waarde om met not

Voer dit voorbeeld uit:

Try it

Omdat is_closed gelijk is aan False, levert not is_closed de waarde True op.

BeginwaardeResultaat met not
TrueFalse
FalseTrue

Dat is de hele regel. not verandert de oorspronkelijke variabele niet, maar levert de tegenovergestelde booleaanse waarde op.

Lees not als onderdeel van de vraag

not leest vooral prettig bij een booleaanse variabele met een duidelijke naam:

Try it

Lees if not is_raining: als ‘als het niet regent’. De code klinkt als de vraag die het programma moet stellen, en dat is meestal een goed teken.

Je kunt de omgekeerde waarde ook opslaan voor later:

Try it

Het antwoord is True: zonder boeking heeft deze bezoeker er een nodig.

Kies een directe vergelijking als die duidelijker leest

not kan een vergelijking omkeren, maar dat levert niet altijd de duidelijkste formulering op:

Try it

Beide expressies leveren True op. De directe vergelijking age >= 18 is in één oogopslag makkelijker te begrijpen.

Gebruik not als het natuurlijk klinkt om een benoemd booleaans idee om te keren, zoals not is_closed of not has_permission. Kies de tegenovergestelde vergelijking als die de regel directer uitdrukt.

Welke voorwaarde is de duidelijkste manier om een blok uit te voeren als account_locked onwaar is?

Wat drukt deze code af?

has_ticket = True
needs_ticket = not has_ticket
print(needs_ticket)

Keer één nuttig gegeven om

De oefening begint met has_booking op False. Gebruik not om de tegenovergestelde waarde op te slaan in needs_booking en controleer daarna de twee afgedrukte booleaanse waarden. Eén kleine operator, één duidelijke taak.

Opdracht

Vervang de tijdelijke waarde voor needs_booking door een expressie die met not de waarde van has_booking omkeert.

Laat has_booking en de twee meegeleverde printaanroepen ongewijzigd. Het programma moet False afdrukken, gevolgd door True.

Klik op Step in de oefeneditor zodra het werkt. Kijk hoe needs_booking de tegenovergestelde booleaanse waarde krijgt, terwijl has_booking ongewijzigd blijft.