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.
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.
print(x,x**2)
.
range(5)
till range(8)
. Vad tror du resultatet blir när du kör koden?range(1,8)
. Vad händer?range(7,8)
. Vad händer?range(2,8,2)
. Vad händer?range(3,13,3)
. Vad händer?print(x,x**2)
till print(x,x**3)
. Vad händer?Justera dina två rader kod enligt följande: