Loopkontrollsatser i en While-Loop
break
och continue
-satserna är kraftfulla verktyg för att kontrollera flödet i en while
-loop:
break
: avslutar omedelbart loopen när ett specifikt villkor är uppfyllt;continue
: hoppar över resten av den aktuella iterationen och går vidare till nästa.
Dessutom används pass
-satsen som en platshållare och gör ingenting när den körs, vilket kan vara användbart för ofullständig logik eller för att undvika fel i tomma block.
Låt oss använda en while-loop för att söka efter en specifik stad i travel_list
. Om staden hittas kommer loopen att avslutas med 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
Indexet
i
börjar vid0
, pekar på den första staden i listan;while
-loopen fortsätter så längei
är mindre än längden påtravel_list
;Om den aktuella staden är
"Barcelona"
, skrivs meddelandet ut och loopen avslutas medbreak
och"Munchen"
nås aldrig av loopen;Om
"Barcelona"
inte hittas, skrivs den aktuella staden ut ochi
ökas för att gå vidare till nästa stad.
Nu ska vi räkna hur många gånger "Barcelona"
förekommer i travel_list
, genom att hoppa över städer som inte matchar med 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)
Indexet
i
börjar på 0, ochcounter
är satt till 0 för att spåra förekomster av'Barcelona'
;while
-loopen körs så längei
är mindre än längden påtravel_list
;Om den aktuella staden inte är
'Barcelona'
, hoppar loopen över den återstående koden för den iterationen medcontinue
och ökari
;För varje förekomst av
'Barcelona'
, ökascounter
, och loopen fortsätter tills alla städer har kontrollerats.
Swipe to start coding
Du organiserar en landdatabas och behöver filtrera ut endast de länder som börjar med bokstaven 'S'. Men för att hålla listan hanterbar, bestämmer du dig för att begränsa urvalet till bara 3 länder.
- Iterera genom
countries
-listan med en while-loop. - Hoppa över alla länder som inte börjar med 'S'.
- Lägg till endast de första 3 giltiga länderna till
selected
-listan.
Lösning
Tack för dina kommentarer!