LOOPAR

Ibland vill vi att en eller flera rader kod ska köras om och om igen, tills ett villkor är uppfyllt som avslutar körningen - vi säger att vi har en loop. Kodraderna som ska köras flera gånger är indragna.

Det finns flera kommandon att använda för att bestämma hur många gånger en loop ska köras. I denna assignment testar vi kommandon for och i nästa assignment koden while. Kommandot for är användbart om vi ska köra något ett bestämt antal gånger. I slutet av en rad som innehåller for måste vi ha tecknet ":". Koden som körs är indragen med TAB, precis som med kommandot if`` från föregående assignment.

Vi utforskar två rader kod:

Kör koden nedan

for x in range(5):
    print(x)

I rad 1 skapas en variabel som heter x och som uppdateras varje gång loopen körs. För att kontrollera hur många gånger loopen ska köras och vilket start- och slutvärde som variabeln x ska ha behöver vi någon form av räknare. Ett vanligt sådant kommando som fungerar som räknare är range(). Den kan skrivas på lite olika sätt beroende på hur räkningen ska gå till.

range(startvärde, slutvärde, steg)

Man behöver inte ange alla dessa värden. Skriver man bara ett värde i parentesen så är det slutvärdet som anges. Slutvärdet ingår dock inte i räkningen, koden räknar alla heltal fram till sluttalet.

Exempel:

range(3) Startvärdet sätts automatiskt till 0. Skapar heltalen 0, 1, 2.

range(3,5) Startvärdet är 3, sluttalet 5. Skapar heltalen 3, 4.

range(3,8,2) Startvärdet är 3, sluttalet 8, listar vart annat tal. Skapar heltalen 3, 5, 7.

Vi går tillbaka till koden:

for x in range(5):
    print(x)

I rad 1 skapas en variabel som heter x och som ges värdet 0. Andra gången loopen körs får x värdet 1. Detta upprepas t.o.m att x = 4. Programmet skriver ut värdet på variabeln x på skärmen för varje loop.

Öva 1

  1. Ändra utskriften så att den skriver ut talet samt kvadraten på talet på samma rad genom att ändra andra kodraden till print(x,x**2).
  2. Byt ut range(5) till range(8). Vad tror du resultatet blir när du kör koden?
  3. Ändra till range(1,8). Vad händer?
  4. Ändra till range(7,8). Vad händer?
  5. Ändra till range(2,8,2). Vad händer?
  6. Ändra till range(3,13,3). Vad händer?
  7. Ändra print(x,x**2) till print(x,x**3). Vad händer?

AVSLUTANDE UPPGIFT

Justera dina två rader kod enligt följande:

Facit

Avslutande uppgift