Met het if-commando kan je het programma keuzes laten maken.
Hiermee zal het programma een deel code niet uitvoeren (en dus de TOP-DOWN niet volledig uitvoeren).
Een eenvoudig voorbeeld van het if-commando
Bekijk onderstaande code in het blauw voor een voorbeeld.
Het programma heeft een invoer van een geheel getal en gaat na of het een positief of negatief getal is:
getal = int(input("geef een getal"))
if getal > 0:
print ("postitief getal")
else:
print ("negatief getal")
Wat gebeurt er in het programma?
- de variabele getal krijgt zijn waarde uit de input van de gebruiker en zal als een geheel getal (int) bewaard worden.
- ALS deze variabele groter is dan 0 (getal>0) dan:
- print het programma "postief getal"
- ANDERS (dus niet groter dan 0):
- print het programma "negatief getal"
Let goed op de opmaak en de tekens:
- Er staat een : achter de regel van if en else
- Python is één van de weinige programmeertalen waar een inspringing (indendation) meetelt als belangrijk onderdeel van de code. De “print” is ingesprongen om aan te geven dat ze bij de IF of de ELSE hoort. De ELSE staat terug aan de kantlijn om het tweede deel aan te geven. Opgelet: een spatie telt ook mee als inspringing (kan dus ook een fout opleveren).
Kort samengevat: alle regels codetaal die ingesprongen zijn, horen bij de optie die erboven staat. Vergeet zeker het ":" niet.
De operatoren voor gelijkheid
met deze operatoren kan je controleren op de gelijkheid:
Let vooral op de == (dubbele =). Een enkele = is om een waarde in een variabele te onthouden, de dubbele == gaat na of beide waardes gelijk zijn aan elkaar.
Meer dan twee keuzes nodig?
Als je meerdere opties wilt gebruiken, gebruik je de “elif” functie.
Je begint met een “if” en een vergelijking, gaat verder met één of meerdere “elif”-functies (ook met een vergelijking)
en eindigt met een “else” zonder vergelijking (om al de rest aan te duiden).
Het programma hierboven in het blauw had 1 klein foutje: als de invoer 0 is, kwam negatief getal als uitkomst uit je programma. We hebben dus een derde optie nodig.
Programma's zoals dit hebben meerdere juiste oplossingen. Hieronder zie je 1 mogelijkheid:
getal = int(input("geef een getal"))
if getal > 0:
print ("postitief getal")
elif getal < 0:
print ("negatief getal")
else:
print ("het getal is 0")
Hieronder nog een voorbeeld van een programma met meerdere keuzes:
Let ook op het gebruik van de "and" operator die aangeeft dat beide vergelijkingen moeten voldaan zijn.
Je kan ook gebruik maken van "not" en "or"
De opdracht
Maak een programma dat naar een nieuw wachtwoord vraagt.
Om na te gaan of het een veilig wachtwoord is, moet het minstens bestaan uit 8 tekens.