Alles over Python While Loop met voorbeelden

Alles over Python While Loop met voorbeelden

Bronknooppunt: 3091323

Introductie

Een while-lus is een fundamentele controlestroominstructie in Python waarmee je herhaaldelijk een codeblok kunt uitvoeren zolang aan een bepaalde voorwaarde wordt voldaan. Het biedt een manier om repetitieve taken te automatiseren en een reeks waarden te herhalen. In dit artikel worden de syntaxis, het gebruik en de verschillende toepassingen van while-loops in Python onderzocht.

Python while-lus

Inhoudsopgave

Syntaxis en structuur van een While-lus

De syntaxis van een while-lus in Python is als volgt:

while condition:
    # code to be executed

De voorwaarde is een Booleaanse expressie die bepaalt of de lus moet worden voortgezet of beëindigd. Als de voorwaarde als True wordt beschouwd, wordt het codeblok binnen de lus herhaaldelijk uitgevoerd. Zodra de voorwaarde False wordt, wordt de lus afgesloten en gaat het programma verder met de volgende instructie na de lus.

Basisgebruik en voorbeelden

Laten we beginnen met een eenvoudig voorbeeld om het basisgebruik van een while-lus te begrijpen. Stel dat we de getallen 1 tot en met 5 willen afdrukken. We kunnen dit bereiken met behulp van een while-lus, zoals hieronder weergegeven:

num = 1
while num <= 5:
    print(num)
    num += 1

uitgang

1

2

3

4

5

In dit voorbeeld initialiseren we de variabele `num` op 1. De while-lus gaat door als `num` kleiner is dan of gelijk is aan 5. Binnen de lus drukken we de waarde van `num` af en verhogen deze vervolgens met 1 met behulp van de `+=`-operator. Dit proces herhaalt zich totdat 'num' 6 wordt, waarna de voorwaarde False wordt en de lus eindigt.

De stroom controleren met Loop Control-instructies

Python biedt drie luscontrole-instructies, 'break', 'continu' en 'pass', zodat u de stroom van een while-lus kunt controleren.

De “breek”-verklaring

De instructie `break` wordt gebruikt om de lus voortijdig te verlaten, zelfs als de lusvoorwaarde nog steeds waar is. Het wordt vaak gebruikt als aan een bepaalde voorwaarde is voldaan en u de lus onmiddellijk wilt beëindigen. Hier is een voorbeeld:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

uitgang

1

2

3

4

5

In dit voorbeeld eindigt de lus wanneer 'num' 6 wordt, omdat we de instructie 'break' in de if-voorwaarde hebben gebruikt. Hierdoor worden alleen de cijfers 1 tot en met 5 afgedrukt.

De “doorgaan”-verklaring

De `continu`-instructie wordt gebruikt om de rest van het codeblok binnen de lus over te slaan en naar de volgende iteratie te gaan. Dit is handig als u bepaalde waarden of voorwaarden wilt overslaan en door wilt gaan met de volgende iteratie. Hier is een voorbeeld:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

uitgang

1

2

4

5

In dit voorbeeld slaat de lus de waarde 3 over, omdat we de `continue`-instructie in de if-voorwaarde hebben gebruikt. Als gevolg hiervan wordt het getal 3 niet afgedrukt en gaat de lus verder met de volgende iteratie.

De “pass”-verklaring

De `pass`-instructie is een tijdelijke aanduiding als u niets binnen de lus wilt doen. Het wordt vaak gebruikt als tijdelijke tijdelijke aanduiding tijdens de ontwikkeling of wanneer u een lege lus wilt maken. Hier is een voorbeeld:

num = 1
while num <= 5:
    pass
    num += 1

In dit voorbeeld doet de instructie 'pass' niets, en verhoogt de lus de waarde van 'num' totdat deze 6 wordt.

Veelvoorkomende gebruiksscenario's en toepassingen

Terwijl loops een breed scala aan toepassingen hebben in Python. Laten we enkele veelvoorkomende gebruiksscenario's verkennen:

Itereren totdat aan een voorwaarde is voldaan

Hoewel lussen vaak worden gebruikt wanneer u wilt herhalen totdat aan een bepaalde voorwaarde is voldaan. We willen bijvoorbeeld de eerste macht van 2 groter dan 1000 vinden. We kunnen een while-lus gebruiken om dit te bereiken:

num = 1
while num <= 1000:
    num *= 2
print(num)

uitgang

1024

In dit voorbeeld gaat de lus door totdat 'num' groter is dan 1000. Voor elke iteratie wordt 'num' vermenigvuldigd met 2 en wordt de uiteindelijke waarde afgedrukt.

Validatie van gebruikersinvoer

Terwijl lussen nuttig zijn om gebruikersinvoer te valideren en ervoor te zorgen dat de invoer aan bepaalde criteria voldoet. We willen de gebruiker bijvoorbeeld vragen een positief geheel getal in te voeren. We kunnen een while-lus gebruiken om om invoer te vragen totdat herhaaldelijk een geldig geheel getal wordt ingevoerd:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

In dit voorbeeld gaat de lus voor onbepaalde tijd door totdat een geldig positief geheel getal wordt ingevoerd. Het `try-except`-blok behandelt mogelijke fouten bij het converteren van de invoer naar een geheel getal.

Oneindige lussen creëren

While-lussen kunnen worden gebruikt om oneindige lussen te creëren, die voor onbepaalde tijd doorgaan totdat aan een bepaalde voorwaarde is voldaan. Laten we bijvoorbeeld een eenvoudige oneindige lus maken die 'Hallo wereld!' herhaaldelijk:

while True:
    print("Hello, World!")

In dit voorbeeld is de lusvoorwaarde altijd True, dus de lus gaat voor onbepaalde tijd door. Om de lus te beëindigen, kunt u de instructie `break` gebruiken of de uitvoering van het programma onderbreken.

Een oneindige lus kan nuttig zijn in de context van een realtime monitoring- of logsysteem. Stel u een situatie voor waarin u een systeem of netwerk voortdurend moet controleren op specifieke gebeurtenissen of wijzigingen en de informatie moet vastleggen. Er zou een oneindige lus kunnen worden gebruikt om deze omstandigheden te controleren en voortdurend passende maatregelen te nemen.

Gameloops implementeren

Terwijl loops vaak worden gebruikt bij de ontwikkeling van games om gameloops te implementeren, die de stroom van het spel regelen en gebruikersinvoer afhandelen. Een gameloop bestaat doorgaans uit drie hoofdcomponenten: het bijwerken van de gamestatus, het weergeven van de game-graphics en het verwerken van gebruikersinvoer. Hier is een vereenvoudigd voorbeeld:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

In dit voorbeeld gaat de lus door zolang de variabele `game_running` True is. Binnen de lus zou je de spelstatus bijwerken, de spelafbeeldingen renderen en gebruikersinvoer afhandelen. Dit proces herhaalt zich totdat het spel eindigt of de speler ervoor kiest om af te sluiten.

Lees ook: Een complete Python-tutorial om datawetenschap helemaal opnieuw te leren

Geneste While-lussen en Lus-nesten

Python Hiermee kun je while-lussen nesten, wat betekent dat je een while-lus in een andere while-lus kunt hebben. Dit is handig als u repetitieve taken binnen repetitieve taken moet uitvoeren. Hier is een voorbeeld:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

uitgang

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

In dit voorbeeld hebben we een buitenste while-lus die itereert van 1 naar 3, en een binnenste while-lus die itereert van 1 naar 3 voor elke iteratie van de buitenste lus. De printinstructie in de binnenste lus geeft de waarden van beide lusvariabelen weer.

Tips en best practices voor het gebruik van While-loops

Hoewel lussen krachtige constructies zijn, kunnen ze ook gevoelig zijn voor fouten als ze niet correct worden gebruikt. Hier volgen enkele tips en best practices waarmee u rekening moet houden bij het gebruik van while-loops:

Variabelen correct initialiseren

Voordat u een while-lus invoert, initialiseert u eventuele lusvariabelen naar hun initiële waarden. Dit zorgt ervoor dat de lusvoorwaarde correct wordt geëvalueerd en voorkomt onverwacht gedrag. Bijvoorbeeld:

count = 0
while count < 10:
    print(count)
    count += 1

In dit voorbeeld initialiseren we de variabele `count` op 0 voordat we de lus betreden.

Zorgen voor lusbeëindiging

Om oneindige lussen te voorkomen, moet u er altijd voor zorgen dat de lusvoorwaarde uiteindelijk False wordt. Dit kan worden bereikt door lusvariabelen bij te werken of lusbesturingsinstructies zoals `break` te gebruiken. Bijvoorbeeld:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

In dit voorbeeld eindigt de lus wanneer 'num' 6 wordt vanwege de 'break'-instructie.

Oneindige lussen vermijden

Wees voorzichtig bij het gebruik van while-lussen om te voorkomen dat er oneindige lussen ontstaan ​​die nooit eindigen. Oneindige lussen kunnen leiden tot programmacrashes en overmatig veel systeembronnen verbruiken. Controleer altijd uw lusvoorwaarden en zorg ervoor dat deze op een gegeven moment False kunnen worden.

Schrijven van leesbare en onderhoudbare code

Terwijl loops complex en moeilijk te begrijpen kunnen worden als ze niet goed zijn geschreven. Gebruik betekenisvolle namen van variabelen, voeg commentaar toe om het doel van de lus uit te leggen en verdeel complexe taken in kleinere subtaken. Dit maakt uw code beter leesbaar en onderhoudbaar.

Geavanceerde technieken en trucs

Terwijl lussen op geavanceerde manieren kunnen worden gebruikt om specifieke taken uit te voeren. Hier zijn enkele geavanceerde technieken en trucs:

Looping met Else-instructies

In Python kun je een else-instructie met een while-lus gebruiken om een ​​codeblok uit te voeren wanneer de lusvoorwaarde False wordt. Het andere blok wordt alleen uitgevoerd als de lus normaal wordt voltooid, zonder break-instructies. Hier is een voorbeeld:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

uitgang

1

2

3

4

5

Lus voltooid

In dit voorbeeld wordt het else-blok uitgevoerd nadat de lus normaal is voltooid.

While-loops gebruiken met lijsten en strings

While-lussen kunnen worden gebruikt om lijsten en tekenreeksen te herhalen met behulp van een indexvariabele. Hier is een voorbeeld:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

uitgang

appel

banaan

kers-

In dit voorbeeld herhaalt de while-lus de elementen van de `fruits`-lijst met behulp van de indexvariabele.

Lees ook: Alles wat u moet weten over ingebouwde datastructuren in Python – een beginnershandleiding!

Vergelijking met andere looping-constructies in Python

Terwijl loops slechts een van de vele looping-constructies zijn die beschikbaar zijn in Python. Laten we while-lussen vergelijken met for-lussen en recursie:

While-lussen versus For-lussen

Hoewel lussen en lussen beide worden gebruikt voor iteratie, hebben ze verschillende gebruiksscenario's. Terwijl lussen flexibeler zijn en complexe omstandigheden aankunnen, terwijl for-lussen beter geschikt zijn voor het herhalen van een reeks waarden. Terwijl lussen handig zijn als u van tevoren niet het exacte aantal iteraties weet of complexe berekeningen moet uitvoeren. Lussen zijn handig als u een reeks waarden wilt herhalen, zoals een lijst of een tekenreeks.

Terwijl-lussen versus recursie

Recursie is een techniek waarbij een functie zichzelf aanroept om een ​​probleem op te lossen. Het kan worden gebruikt om repetitieve taken uit te voeren, vergelijkbaar met while-loops, maar er zijn enkele verschillen. Terwijl lussen meer geschikt zijn voor iteratieve taken waarbij u een duidelijke beëindigingsvoorwaarde heeft en een vast aantal iteraties moet uitvoeren. Recursie is geschikter voor het oplossen van problemen die zijn onderverdeeld in kleinere deelproblemen, zoals algoritmen voor zoeken, sorteren en het doorlopen van bomen.

Conclusie

In dit artikel hebben we het concept van while-loops in Python onderzocht. We leerden over hun syntaxis, basisgebruik en verschillende toepassingen. We bespraken ook tips, best practices, veelvoorkomende fouten en geavanceerde technieken voor het gebruik van while-loops. Ten slotte hebben we while-lussen vergeleken met andere lusconstructies in Python. Met deze kennis kunt u nu effectief while-loops gebruiken om repetitieve taken te automatiseren en reeksen waarden in uw Python-programma's te herhalen.

Ontgrendel de kracht van AI & ML Excellence! Schrijf je nu in bij Onze Gecertificeerd AI & ML BlackBelt Plus-programma en breng uw vaardigheden naar nieuwe hoogten. Mis de kans niet om de nieuwste technologieën onder de knie te krijgen – transformeer vandaag nog uw carrière!

Als je op zoek bent naar een online Python-cursus, bekijk dan onze - Inleiding tot het Python-programma vandaag!

Tijdstempel:

Meer van Analytics Vidhya