Modulelessen (3/4)
Voorwaardelijke bepalingen: if, elif, else
Met Voorwaardelijke kunt u verschillende code uitvoeren op basis van de
waarde van een Booleaanse expressie. In Python zijn ze geschreven met if, elif
(afkorting voor "anders als") en else.
De basisvorm
eta = 18
if eta >= 18:
messaggio = "maggiorenne"
else:
messaggio = "minorenne"Kennisgeving:
- na de voorwaarde staat altijd een dubbele punt
:; - het blok "binnen" de if wordt geïdentificeerd door inspringing (4 spaties);
- er zijn geen haakjes rond de voorwaarde nodig (hoewel ze wel zijn toegestaan).
Meer vestigingen met elif
voto = 7
if voto >= 9:
giudizio = "ottimo"
elif voto >= 7:
giudizio = "buono"
elif voto >= 6:
giudizio = "sufficiente"
else:
giudizio = "insufficiente"De elif vertakkingen worden geëvalueerd in de volgorde waarin u ze schrijft en waar ze stoppen
de eerste die waar blijkt te zijn.
Voorwaardelijke expressie (ternair)
Voor eenvoudige gevallen kunt u alles op één regel schrijven:
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"Er staat natuurlijk in het Engels: "maggiorenne if eta >= 18 else minorenne".
Waarden ‘waar’/‘vals’
Een voorwaarde hoeft geen vergelijking te zijn: elke waarde kan dat
als voorwaarde gebruiken. Deze worden als onwaar beschouwd: False, None, 0,
"", [], {}. Al het andere is waar.
nome = "Ada"
if nome:
saluto = f"Ciao {nome}!"
else:
saluto = "Ciao sconosciuto!"Voorwaardelijke expressies (ternaire operator)
Python ondersteunt een compacte if-else-constructie met één regel, die fungeert als de ternaire operator die in andere talen wordt aangetroffen:
result = "Even" if n % 2 == 0 else "Odd"Hierdoor blijft uw code beknopt wanneer u eenvoudigweg een waarde moet toekennen op basis van een voorwaarde.
Probeer het zelf
Gegeven 'getal = 15', wijs aan 'teken' de string 'positivo' toe als het getal > 0 is, 'nul' als het 0 is, en anders 'negatief'. Evalueer 'teken'.
Toon hint
Drie takken: > 0, == 0, anders.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Gegeven 'leeftijd = 20', wijs aan 'categorie' de string 'maggiorenne' of 'minorenne' toe met behulp van de ternaire expressie (if/else op één regel).
Toon hint
Syntaxis: waarde_if_true als voorwaarde anders waarde_if_false
Oplossing beschikbaar na 3 pogingen
Extra uitdaging
Write a conditional structure that checks if the variable `x` (initialized to `-5`) is greater than 0, less than 0, or equal to 0. Assign the string `'positive'`, `'negative'`, or `'zero'` to `sign` accordingly. Finally, evaluate `sign`.
Toon hint
Gebruik if x > 0:, elif x < 0:, en else: om de drie gevallen af te handelen.
Oplossing beschikbaar na 3 pogingen