Loopkontroludsagn i en While-Løkke
break
og continue
udsagnene er kraftfulde værktøjer til at kontrollere strømmen af en while
-løkke:
break
: afslutter straks løkken, når en specifik betingelse er opfyldt;continue
: springer resten af den nuværende iteration over og går videre til den næste.
Derudover bruges pass
udsagnet som en pladsholder og gør intet, når det udføres, hvilket kan være nyttigt for ufuldstændig logik eller for at undgå fejl i tomme blokke.
Lad os bruge en while-løkke til at søge efter en specifik by i travel_list
. Hvis byen findes, vil løkken afslutte ved hjælp af break
.
travel_list = ['Monako', 'Luxemburg', 'Liverpool', 'Barcelona', 'Munchen'] # Initialize the index i = 0 # Search for "Barcelona" while i < len(travel_list): if travel_list[i] == 'Barcelona': print('Found Barcelona!') break print(travel_list[i]) i += 1
Indekset
i
starter ved0
, peger på den første by i listen;while
-løkken fortsætter, så længei
er mindre end længden aftravel_list
;Hvis den aktuelle by er
"Barcelona"
, udskrives beskeden, og løkken afsluttes ved hjælp afbreak
, og"Munchen"
nås aldrig af løkken;Hvis
"Barcelona"
ikke findes, udskrives den aktuelle by, ogi
øges for at gå videre til den næste by.
Lad os nu tælle, hvor mange gange "Barcelona"
vises i travel_list
, og springe byer over, der ikke matcher ved hjælp af continue
.
travel_list = ['Monako', 'Barcelona', 'Liverpool', 'Barcelona', 'Munchen', 'Barcelona'] # Initialize variables i = 0 counter = 0 # Count occurrences of "Barcelona" while i < len(travel_list): if travel_list[i] != 'Barcelona': i += 1 continue else: counter += 1 i += 1 print('Total occurrences of Barcelona:', counter)
Indekset
i
starter ved 0, ogcounter
sættes til 0 for at spore forekomster af'Barcelona'
;while
-løkken kører, så længei
er mindre end længden aftravel_list
;Hvis den aktuelle by ikke er
'Barcelona'
, springer løkken den resterende kode for den iteration over ved hjælp afcontinue
og øgeri
;For hver forekomst af
'Barcelona'
øgescounter
, og løkken fortsætter, indtil alle byer er kontrolleret.
Swipe to start coding
Du organiserer en landedatabase og skal filtrere kun de lande, der starter med bogstavet 'S'. Men for at holde listen håndterbar beslutter du at begrænse udvalget til kun 3 lande.
- Iterér gennem
countries
-listen ved hjælp af en while-løkke. - Spring over ethvert land, der ikke starter med 'S'.
- Tilføj kun de første 3 gyldige lande til
selected
-listen.
Løsning
Tak for dine kommentarer!