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.
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!
Verwant
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://www.analyticsvidhya.com/blog/2024/01/python-while-loop-with-examples/
- : heeft
- :is
- :niet
- :waar
- 1
- 10
- 360
- a
- Over
- Bereiken
- bereikt
- acties
- toevoegen
- bevorderen
- vergevorderd
- Na
- AI
- algoritmen
- Alles
- toelaten
- toestaat
- ook
- altijd
- an
- en
- Nog een
- elke
- iets
- Apple
- toepassingen
- passend
- ZIJN
- dit artikel
- AS
- vragen
- At
- automatiseren
- Beschikbaar
- vermijd
- Banana
- basis-
- BE
- omdat
- worden
- wordt
- vaardigheden
- gedrag
- onder
- BEST
- 'best practices'
- Betere
- Blok
- zowel
- Breken
- ingebouwd
- maar
- by
- oproepen
- CAN
- Carrière
- gevallen
- voorzichtig
- zeker
- Wijzigingen
- controle
- kiest
- duidelijk
- code
- opmerkingen
- Gemeen
- algemeen
- vergelijken
- vergeleken
- compleet
- Voltooid
- voltooit
- complex
- componenten
- concept
- voorwaarde
- voorwaarden
- beschouwd
- bestaat uit
- permanent
- consumeren
- verband
- voortzetten
- blijft
- doorlopend
- onder controle te houden
- het omzetten van
- correct
- kon
- tellen
- cursus
- en je merk te creëren
- Wij creëren
- criteria
- gegevens
- data science
- bepalen
- Ontwikkeling
- verschillen
- anders
- moeilijk
- besproken
- displays
- Verdeeld
- do
- doet
- Dont
- beneden
- gedurende
- elk
- effectief
- geeft je de mogelijkheid
- ELEVATE
- anders
- loondienst
- leeg
- eindigt
- inschrijven
- verzekeren
- waarborgt
- zorgen
- Enter
- ingevoerd
- het invoeren van
- gelijk
- fouten
- Ether (ETH)
- geëvalueerd
- Zelfs
- EVENTS
- uiteindelijk
- alles
- voorbeeld
- voorbeelden
- overschrijdt
- Behalve
- excessief
- uitvoeren
- uitgevoerd
- uitvoering
- afrit
- Verklaren
- Verken
- Nagegaan
- uitdrukking
- vals
- finale
- Tot slot
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Voornaam*
- vast
- flexibel
- stroom
- volgt
- Voor
- oppompen van
- Fruit
- functie
- fundamenteel
- spel
- game-ontwikkeling
- Spellen
- grafiek
- meer
- handvat
- Handvaten
- Behandeling
- Hebben
- hoogten
- hallo
- hier
- Hoge
- HTTPS
- if
- beeld
- per direct
- uitvoeren
- in
- aanwas
- index
- informatie
- eerste
- binnenste
- invoer
- binnen
- in
- IT
- itererend
- herhaling
- iteraties
- zelf
- voor slechts
- eentje maar
- Houden
- blijven
- kennis
- laatste
- leiden
- LEARN
- geleerd
- minder
- als
- Lijst
- lijsten
- inloggen
- logging
- lang
- op zoek
- Hoofd
- Onderhoudbaar
- MERKEN
- meester
- max-width
- zinvolle
- middel
- Meets
- voldaan
- macht
- denken
- missen
- fouten
- ML
- monitor
- Grensverkeer
- meer
- beweging
- vermenigvuldigd
- Dan moet je
- namen
- Noodzaak
- Nest
- netwerk
- nooit
- New
- volgende
- normaal
- niets
- nu
- aantal
- nummers
- of
- vaak
- on
- eens
- EEN
- online.
- Slechts
- operator
- kansen
- or
- Overige
- onze
- uit
- over
- passeren
- uitvoeren
- placeholder
- Plato
- Plato gegevensintelligentie
- PlatoData
- speler
- dan
- plus
- punt
- positief
- potentieel
- energie
- krachtige
- praktijken
- voorkomt
- prints
- probleem
- problemen
- Programma
- Programma's
- naar behoren
- biedt
- doel
- Python
- reeks
- Lees
- real-time
- weergave
- HERHAALDELIJK
- herhalende
- Resources
- REST
- resultaat
- Wetenschap
- zoeken
- Volgorde
- verscheidene
- moet
- getoond
- gelijk
- Eenvoudig
- vereenvoudigd
- situatie
- vaardigheden
- kleinere
- So
- OPLOSSEN
- Het oplossen van
- sommige
- specifiek
- begin
- Land
- Statement
- verklaringen
- Still
- Draad
- structuur
- structuren
- dergelijk
- geschikt
- SVG
- syntaxis
- system
- Nemen
- taken
- techniek
- technieken
- Technologies
- tijdelijk
- neem contact
- dat
- De
- de informatie
- hun
- harte
- Deze
- ze
- dit
- drie
- tips
- naar
- Transformeren
- boom
- waar
- proberen
- zelfstudie
- typisch
- begrijpen
- Onverwacht
- tot
- bijwerken
- bijwerken
- Gebruik
- .
- gebruikt
- nuttig
- Gebruiker
- gebruik
- geldig
- valideren
- waarde
- Values
- variabele
- divers
- vs
- willen
- Manier..
- manieren
- we
- wanneer
- of
- welke
- en
- breed
- Grote range
- wil
- Met
- binnen
- zonder
- zou
- geschreven
- u
- Your
- zephyrnet