Controleverloop in Python

Controleverloop in Python

Dit artikel legt het controleverloop in Python uit.

YouTube Video

If-verklaring in Python

De if-verklaring in Python is een syntaxis voor conditionele vertakking. Het wordt gebruikt om een blok code uit te voeren als een specifieke voorwaarde resulteert in True (waar).

Basis Syntax

De if-verklaring in Python volgt in principe de onderstaande structuur.

1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4    # If the condition is True, execute this code block
5    print("x is greater than 5")

In dit voorbeeld wordt "x is groter dan 5" afgedrukt als de variabele x groter is dan 5.

else-verklaring

Met else na een if-verklaring kunt u code opgeven die moet worden uitgevoerd wanneer de voorwaarde onwaar is.

1x = 3
2
3if x > 5:
4    print("x is greater than 5")
5else:
6    print("x is less than or equal to 5")

In dit voorbeeld zal de uitvoer "x is kleiner dan of gelijk aan 5" zijn.

elif-verklaring

Als u meerdere voorwaarden moet controleren, kunt u elif gebruiken, wat staat voor "else if".

1x = 5
2
3if x > 5:
4    print("x is greater than 5")
5elif x == 5:
6    print("x is equal to 5")
7else:
8    print("x is less than 5")

In dit voorbeeld wordt "x is gelijk aan 5" afgedrukt.

Notities

  • Een dubbele punt (:) is vereist na if, elif of else.
  • Het codeblok dat wordt uitgevoerd wanneer een voorwaarde waar is, moet worden ingesprongen. In Python is de standaardinspringing meestal 4 spaties, maar andere aantallen spaties zijn ook goed zolang je consistent bent.
  • U kunt elke expressie die resulteert in een booleaanse waarde als voorwaarde gebruiken. Dit betekent dat u voorwaardelijke expressies kunt gebruiken in combinatie met vergelijkings- of logische operatoren.

Het beheersen van de if-verklaring van Python stelt u in staat om de uitvoeringsstroom van het programma flexibel te beheren.

Meerdere conditionele vertakkingen in Python

Er zijn verschillende manieren om een switch-achtige functionaliteit in Python te implementeren, vergelijkbaar met die in andere talen. In Python is het gebruikelijk om if-elif-else-verklaringen of woordenboeken te gebruiken om structuren te maken die lijken op een switch-verklaring.

Methode 1: if-elif-else Verklaring

De eenvoudigste manier is om de if-elif-else verklaring te gebruiken voor conditionele vertakkingen.

 1def switch_example(value):
 2    if value == 1:
 3        return "Value is one"
 4    elif value == 2:
 5        return "Value is two"
 6    elif value == 3:
 7        return "Value is three"
 8    else:
 9        return "Unknown value"
10
11print(switch_example(1))  # Output: Value is one
12print(switch_example(4))  # Output: Unknown value

Methode 2: Dictionaries Gebruiken

Door functies of waarden aan een dictionary toe te wijzen, is het mogelijk om een structuur vergelijkbaar met een switch statement te maken. Dit is handig wanneer je verschillende operaties wilt uitvoeren voor specifieke waarden.

 1def case_one():
 2    return "Value is one"
 3
 4def case_two():
 5    return "Value is two"
 6
 7def case_default():
 8    return "Unknown value"
 9
10def switch_example(value):
11    switch_dict = {
12        1: case_one,
13        2: case_two
14    }
15
16    # Use get() method to retrieve the corresponding function from the dictionary
17    # If the value is not found in the dictionary, use case_default as a fallback
18    return switch_dict.get(value, case_default)()
19
20print(switch_example(1))  # Output: Value is one
21print(switch_example(3))  # Output: Unknown value

Methode 3: match Verklaring (Python 3.10 en later)

De match verklaring werd geïntroduceerd in Python 3.10. Het is een patroonmatching-syntax die functionaliteit biedt vergelijkbaar met een switch statement.

 1def switch_example(value):
 2    match value:
 3        case 1:
 4            return "Value is one"
 5        case 2:
 6            return "Value is two"
 7        case 3:
 8            return "Value is three"
 9        case _:
10            return "Unknown value"
11
12print(switch_example(1))  # Output: Value is one
13print(switch_example(4))  # Output: Unknown value

Samenvatting

  • if-elif-else Verklaring: Eenvoudig en aanpasbaar voor veel gevallen.
  • Dictionaries: Gebruik mappings van functies of waarden om efficiënte vertakking mogelijk te maken.
  • match Verklaring: Maakt meer intuïtieve vertakking mogelijk in Python 3.10 en later. Het meest vergelijkbaar met een switch statement.

For Lussen in Python

De for-instructie van Python wordt gebruikt om over elk element van een iterabel object, zoals een lijst, string of woordenboek, te itereren. De basis-syntax van een for verklaring is als volgt:.

1# Loop through each item in the iterable
2for variable in iterable:
3    # Execute this block of code for each item in the iterable
4    code_to_execute

Hier zijn enkele specifieke voorbeelden:.

Voorbeeld Met Een Lijst

1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3    print(fruit)

Deze code roept de print functie aan voor elk element in de lijst fruits en geeft de naam van elk fruit weer.

Voorbeeld Met range()

De range() functie genereert gehele getallen binnen een gespecificeerde reeks en is daardoor handig voor numerieke iteraties.

1for i in range(5):
2    print(i)

range(5) genereert gehele getallen van 0 tot en met 4. In dit geval worden 0, 1, 2, 3, 4 achtereenvolgens uitgegeven.

Voorbeeld Met Een Dictionary

Bij dictionaries worden standaard de sleutels geïtereerd, maar je kunt ook sleutel-waarde paren ophalen.

1person = {"name": "Alice", "age": 25}
2for key in person:
3    print(key, person[key])

Alternatief kunt u de methode items() gebruiken om tegelijkertijd sleutels en waarden op te halen.

1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3    print(key, value)

Genest for-lus

Het is ook mogelijk om geneste for-lussen te gebruiken om complexe iteratieprocessen uit te voeren.

1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3    for num in row:
4        print(num)

Deze code doorloopt elke rij van de lijst matrix en geeft opeenvolgend de getallen in elke rij weer.

continue om een iteratie over te slaan en break om een lus te beëindigen

Door continue in een for-lus te gebruiken, wordt de huidige iteratie overgeslagen en wordt naar de volgende gegaan. Bovendien zal het gebruik van break de lus volledig beëindigen.

1for i in range(10):
2    if i == 5:
3        continue
4    if i == 8:
5        break
6    print(i)

In dit voorbeeld wordt de lus overgeslagen wanneer i gelijk is aan 5 en beëindigd wanneer i gelijk is aan 8. Daarom zal de output 0, 1, 2, 3, 4, 6, 7 zijn.

De for-lus in Python is zeer flexibel en kan in verschillende situaties worden gebruikt. Afhankelijk van het type iteratieve verwerking dat je wilt uitvoeren, kan het worden gebruikt in combinatie met lijsten, woordenboeken, strings en range().

while-lus in Python

In Python is de while-lus een controle-structuur die wordt gebruikt om code in het blok herhaaldelijk uit te voeren zolang de voorwaarde True blijft. De basis-syntaxis van de while-lus is als volgt:.

1while condition:
2    # This block of code will be executed repeatedly as long as the condition is true
3    statement1
4    statement2
5    ...

Voorbeeld:

In het volgende voorbeeld wordt een while-lus gebruikt om de nummers van 1 tot 5 weer te geven.

1i = 1
2while i <= 5:
3    print(i)
4    i += 1

Deze code werkt als volgt.

  • Begin met i als 1, print i zolang het kleiner is dan of gelijk aan 5, en verhoog i elke keer met 1.

Opmerking:

Bij het gebruik van de while-instructie moet je met de volgende punten rekening houden.

  1. Let op voor oneindige lussen

    • Als de conditie in een while-lus altijd True is, leidt dit tot een oneindige lus. Er moeten geschikte operaties worden uitgevoerd om de voorwaarde te wijzigen; anders stopt het programma niet.
  2. Gebruik van break en continue:

    • break wordt gebruikt wanneer je de lus voortijdig wilt verlaten.
    • continue slaat de huidige iteratie over en gaat door naar de volgende. Wees voorzichtig, want onjuiste lusvoorwaarden kunnen tot een oneindige lus leiden.

Voorbeeld van break:

1i = 1
2while i <= 5:
3    if i == 3:
4        break  # Exit the loop when i becomes 3
5    print(i)
6    i += 1
  • In dit geval eindigt de lus nadat 1 en 2 zijn uitgevoerd, wanneer i gelijk wordt aan 3.

Voorbeeld van continue:

1i = 0
2while i < 5:
3    i += 1
4    if i == 3:
5        # Skip the print statement and move to the next loop iteration when i is 3
6        continue
7    print(i)
  • In dit geval wordt de uitvoer alleen overgeslagen voor 3, wat resulteert in 1, 2, 4, 5.
  • Door de waarde van i aan het begin van de lus te verhogen, wordt de teller alsnog verhoogd, zelfs als continue wordt uitgevoerd. Zo voorkom je een oneindige lus.

Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.

YouTube Video