Uendelig Løkke
Sveip for å vise menyen
En uendelig løkke er en løkke som aldri avsluttes fordi betingelsen som styrer den aldri evalueres til False. Slike løkker kan føre til at et program henger eller krasjer, så de bør unngås med mindre det er helt nødvendig.
Hvis en betingelse alltid er True, vil løkken kjøre for alltid. For eksempel, la oss bruke et reiserelatert scenario:
# Infinite loop example
while 'Barcelona' in ['Monako', 'Liverpool', 'Barcelona', 'Munchen']:
print('I found Barcelona!')
- Betingelsen
'Barcelona' in [...]vil alltid væreTruefordi'Barcelona'finnes i listen. Dette tilsvarerwhile True:; - Løkken skriver kontinuerlig ut
'I found Barcelona!'uten noen måte å stoppe på.
En feilaktig oppdatert løkkevariabel kan også føre til en uendelig løkke. For eksempel:
# Another infinite loop example
i = 0
travel_list = ['Monako', 'Luxemburg', 'Liverpool', 'Barcelona', 'Munchen']
while i < len(travel_list):
print(travel_list[i])
# Missing increment: i += 1
- Indeksen
iblir aldri økt, så betingelseni < len(travel_list)er alltidTrue; - Løkken fortsetter å skrive ut den første byen (
'Monako') uendelig.
For å unngå uendelige løkker må du sørge for at løkkebetingelsen til slutt evalueres til False. Dette betyr at betingelsen må være dynamisk og endres under kjøringen av løkken. Hvis du bruker en variabel (for eksempel en teller) for å kontrollere løkken, må du også sørge for at den økes eller oppdateres riktig inne i løkken, slik at betingelsen ikke forblir True for alltid.
1. Hva er problemet med følgende kode?
2. Hvordan kan du endre denne løkken for å forhindre at den kjører for alltid?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår