Lägg till som läxa
Lägg till som stjärnmärkt
Frågor hjälpmarkerade!
Alla markeringar försvinner.
KURSER /
Matematik och Programmering
/ Loopar – Python
While loop i python
Här lär du dig hur man skriver en while loop i programmeringsspråket python. Vi visar först teorin och tar sedan ett praktiskt exempel.
Python har två olika sätt att skriva loopar på. Det ena kalls för for loop och det andra är while loopen. På svenska kan vi översätta while till medan. Du kan tänka att koden utför något medan ett villkor stämmer.
Övning
Du hittar frågeställningarna som kommentarer precis här nedanför (Texten efter kommentaren # och numret på frågan). Förslag på lösning hittar du i filen suggestion.py.
På samma sätt som en for loop så används en while loop för att göra saker om och om igen tills vi säger till den att avbryta.
Så skriver du en while loop i python
En while loop kan beskrivas med text på följande vis:
counter = 0 while villkor: Kodblocket som körs i loopen… Öka på counter (räknaren ett steg)
Här gäller att villkoret körs innan varje kodblock och på det viset kan vi kolla om vi skall fortsätta eller avbryta while loopen i varje omgång.
Ett riktigt exempel på en while loop kan se ut på följande vis
counter = 0 while counter < 10: print(counter) counter += 1
Här har vi en while loop där villkoret är att vi skall köra loopen så länge som counter är mindre än 10. Om det här skall fungera så måste först innan loopen definiera variabeln counter = 0.
Vi behöver även öka på counter ett eller flera steg varje gång vi kör loopen så här behöver vi skriva counter += i slutet på varje kodblock. Då kommer counter att ökas på med 1 varje gång vi har kört klart en omgång. Om vi inte ökar på counter kommer loopen att fortsätta i all oändlighet och programmet kommer att låsa sig.
Vi har villkoret att vi skall köra så länge counter är mindre än 10 och när counter = 10 så kommer while loopen att avslutas.
Break och else i while loopen
Du kan också avbryta loopen (break), fortsätta (continue) och lägga in ett villkor (else). Nedan visas tre exempel på detta.
Break
Du kan avbryt loopen i förtid om du exempelvis har uppnått det du önskar.
i = 0 while i < 10: print(i) if i == 8: break i+=1
Här ovan används en if sats och vi avbryter vi loopen om i är lika med 8.
Else
Du kan också använda else tillsammans med en while loop i python.
i = 0 while i < 4: print(i) i+=1 else: print("loopen är klar")
När villkoret i < 4 inte stämmer längre i loopen här ovan så går den in in i else. Då skriver vi ut att den är avslutad.
Ma Br
Finns det verkligen bara en övning per genomgång? Jag hittar inte hur jag ska stega fram till de andra övningarna om det finns fler.
Simon Rybrand (Moderator)
Hej
Just nu ligger det en övning per genomgång. Det är möjligt att vi i framtiden kommer att utöka detta.
Janet Monteza
i = 0
while i < 10:
print(i)
if i == 8:
break
i+=1
Här ovan används en if sats och vi avbryter vi loopen om i är lika med "1".
Skulle inte stå 8 istället för 1 eller?
Simon Rybrand (Moderator)
Ja det skall stå 8, det är korrigerat, tack för att du sade till!
Endast Premium-användare kan kommentera.