Vad är en loop?

En loop används när vi vill upprepa kod flera gånger. Det kan handla om att:

  • Räkna upp eller ned (t.ex. skriva ut talen 1 till 10)
  • Fråga användaren något tills ett visst svar ges
  • Gå igenom varje värde i en lista

Istället för att skriva samma kod flera gånger, låter vi en loop göra jobbet.

Två typer av loopar i Python:

TypBeskrivningAnvänds när…
whileUpprepar kod så länge ett villkor är santDu inte vet i förväg hur många gånger
forUpprepar kod ett visst antal gånger eller över en samlingDu vet hur många gånger, eller använder en lista

Syntax: while-loop

counter = 1
while counter <= 5:
    print("Varv", counter)
    counter += 1

Förklaring:

  • while counter <= 5: betyder att loopen körs så länge detta villkor är sant
  • counter += 1 ökar värdet med 1 varje gång (annars blir loopen oändlig!)

Syntax: for-loop med range()

for i in range(1, 6):
    print("Varv", i)

Förklaring:

  • range(1, 6) betyder att i kommer att vara 1, 2, 3, 4, 5 (inte 6!)
  • i är en temporär variabel för varje varv

Avbryta en loop

Du kan använda break för att avbryta en loop i förtid eller när användaren gör ett specifikt val med if/elif/else statement.
Exempel:

while True:

    val = input("Vad heter du? ")

    if val == "Oskar": #Om valet är Oskar
        print("Hej Oskar!")
        break #Avbryter loopen
        
    else:
        print("Felaktigt namn, försök igen.")

Tips:

  • break kan användas för att avsluta en loop i förtid
  • Undvik oändliga loopar genom att se till att villkoret blir falskt till slut
  • Kom ihåg indenteringen