Introduktion
Denna lektion är en fortsättning på lektion "Logik och Input del 1". För att kunna förstå denna lektion så bra som möjligt så rekommenderar vi att du kollar in del 1 först.
For-loopar:
I Python så kan du skriva en kod om och om igen. Men det är mycket enklare att repetera koden fler gånger. Det kan du göra med en for-loop. En for-loop består av ungefär samma delar som de flesta andra loopar. En for-loop skrivs ofta så här:
for (variabel) in range (antal gånger koden ska repeteras):
kod här
Okej, nu vet du hur en for-loop skrivs, men varför skrivs den så? Jo, det är ganska enkelt att förstå.
Först skriver du "for" för att berätta för Python att det är en for-loop som du precis har skrivit ut.
Efter det så skriver du ett namn på en valfri variabel som du inte använder till något annat i programmet. Den variabeln används av Python för att kunna köra for-loopen-korrekt, och den räknar även hur många gången for-loopen körs.
Efter att du har skrivit "for" och ett valfritt namn på en variabel, t.ex "a" ("for a"), så skriver du "in range" och sedan två stycken parenteser "()". Innanför parenteserna så skriver du hur många gånger du vill att loopen ska repeteras. Det kan vara siffror eller en variabel. Ganska enkelt, eller hur? Efter det så behöver du bara lägga till ett kolon (":") och sedan trycka enter.
På raden/raderna under så kan du skriva in koden som ska köras i loopen. Glöm bara inte bort att "tabba in" koden korrekt så att den körs i rätt loop, som vi gick igenom i del 1 av denna lektion. Låt oss prova med en kod som skriver ut ordet "Test" tio gånger. Den loopen skrivs så här:
for (variabel) in range (antal gånger koden ska repeteras):
kod här
Okej, nu vet du hur en for-loop skrivs, men varför skrivs den så? Jo, det är ganska enkelt att förstå.
Först skriver du "for" för att berätta för Python att det är en for-loop som du precis har skrivit ut.
Efter det så skriver du ett namn på en valfri variabel som du inte använder till något annat i programmet. Den variabeln används av Python för att kunna köra for-loopen-korrekt, och den räknar även hur många gången for-loopen körs.
Efter att du har skrivit "for" och ett valfritt namn på en variabel, t.ex "a" ("for a"), så skriver du "in range" och sedan två stycken parenteser "()". Innanför parenteserna så skriver du hur många gånger du vill att loopen ska repeteras. Det kan vara siffror eller en variabel. Ganska enkelt, eller hur? Efter det så behöver du bara lägga till ett kolon (":") och sedan trycka enter.
På raden/raderna under så kan du skriva in koden som ska köras i loopen. Glöm bara inte bort att "tabba in" koden korrekt så att den körs i rätt loop, som vi gick igenom i del 1 av denna lektion. Låt oss prova med en kod som skriver ut ordet "Test" tio gånger. Den loopen skrivs så här:
For-loop som skriver ut ordet "Test" tio gånger:
Loopa igenom en lista
För att loopa igenom en lista kan du skriva såhär:
Kod som loopar igenom en lista:
Detta är ett enkelt och snyggt sätt att loopa igenom listor.
Nu har du lärt dig med om for-loopar och kan gå vidare till att lära dig om while - loopar som också är riktigt användbara inom Programmering!
while - loopar:
Vad är en while-loop? Jo, den liknar en for-loop väldigt mycket, fast en while-loop repeterar saker så länge någonting stämmer. Du skriver en while-loop genom att börja med att skriva while och sedan lägga till vad while-loopen ska kontrollera på samma sätt som du gör det i en vanlig if-loop. Om det som while-loopen kontrollerar stämmer så kommer den att köra koden som är inuti loopen om och om igen, och om det som while-loopen kontrollerar inte stämmer så stängs programmet av eller så fortsätter koden efter while-loopen att köras. Allt kanske låter lite krångligt, men här är en enkel while-loop:
Så här skrivs en enkel while-loop:
Denna kod kommer att skriva ut "Hej" tills du manuellt avslutar programmet genom att trycka på knappen som ser ut så här:
Varför sker detta? Jo, while-loopen körs så länge variabeln "variabelsomwhileloopenkontrollerar" är lika med ett, och det är den hela tiden eftersom koden börjar med att berätta att den variabeln har värdet ett och den har det hela tiden. Eftersom det alltid stämmer så körs koden inuti while-loopen tills du manuellt stänger av programmet. Det görs enkelt genom att klicka på knappen som du kan se på bilden ovan. Om variabeln "variabelsomwhileloopenkontrollerar" inte skulle vara lika med ett så skulle koden i while-loopen inte köras. Läs vidare för att lära dig om hur man kan avsluta en while-loop och få en while-loop att köras tills den avslutas utan att behöva använda några variabler.
while True-loopar och loop-händelser:
while-loopar är användbara på många andra sätt. Det finns t.ex. en while-loop som kallas "while True". Den skrivs precis som en vanlig while-loop, men där du skriver in vad while-loopen kontrollerar så skriver du bara "True", så att while-loopen börjar med "while True:".
Vad gör du en while True-loop? Jo, en while True-loop körs tills den avslutas antingen manuellt eller med hjälp av något som kallas loop-händelser.
Om du inte avslutar programmet och inte har några loop-händelser eller annan kod som avslutar while True-loopen, så kommer den bara att fortsätta köras, precis som while-loopen vi programmerade här ovanför, fast en while True-loop behöver inte använda några variabler för att köras. Läs vidare för att lära dig om loop-händelser!
Vad gör du en while True-loop? Jo, en while True-loop körs tills den avslutas antingen manuellt eller med hjälp av något som kallas loop-händelser.
Om du inte avslutar programmet och inte har några loop-händelser eller annan kod som avslutar while True-loopen, så kommer den bara att fortsätta köras, precis som while-loopen vi programmerade här ovanför, fast en while True-loop behöver inte använda några variabler för att köras. Läs vidare för att lära dig om loop-händelser!
Loop-händelser:
En loop-händelse är en text som du kan lägga till inuti en loop för att t.ex. avsluta programmet eller gå vidare till koden efter en loop. Detta kan t.ex. användas för att avsluta en while True-loop, en while-loop eller någon annan typ av loop. Här är en while True-loop som avslutas när bokstäverna "ABCD" skrivs:
Här nedan ser du en kod som avslutar programmet när bokstäverna "ABCD" skrivs:
Försök att förstå och tänka på vad denna kod talar om för datorn. Först så skrivs "while True:" som berättar att programmet består av en while-True - loop. Innanför while-True-loopen så finns totalt tre rader kod. Den första raden består av en enkel input-kod. Input-koden frågar användaren om den kan skriva in ett valfritt antal bokstäver. Användarens svar sparas i variabeln "letters" som betyder "bokstäver" på Svenska. Efter det så kontrollerar en if-loop om det användaren har skrivit in är "ABCD". Om det är det så aktiveras en loop-händelse som heter "break". Den avslutar den aktuella loopen och eftersom det inte finns någon kod efter while-True - loopen så avslutas programmet helt. Om användaren inte skrivit in "ABCD" så kommer frågan att ställas igen och användarens nya svar kommer att sparas i variabeln "letters". Programmet fortsätter att köras tills rätt svar är inskrivet eller tills du manuellt stoppar programmet genom att t.ex. trycka på den röda "Stopp" - knappen bredvid ytan på skärmen där din kod körs.Testa att köra detta program själv! Här nedanför finns också en bild där vi har skrivit in olika bokstäver i programmet för att visa hur det fungerar. Varje rött streck representerar när programmet har körts om, och det gröna strecket visar när programmet avslutas.
Så, vad är då loop-händelser? Jo, det är, som sagt, en text som kan t.ex. avsluta en loop, avsluta hela programmet m.m. Beroende på vilken text du skriver in så sker olika händelser med programmet. Det finns flera olika loop - händelser, och här nere är en lista med två av dem viktigaste. Det finns också information om vad dem olika loop - händelserna gör.
break = avslutar den aktuella loopen och går vidare till koden efter loopen. "break" fungerar med for-loopar och while-loopar.
continue = "skippar" koden efter och går vidare till början av den aktuella loopen.
continue = "skippar" koden efter och går vidare till början av den aktuella loopen.
Nu så har du precis lärt dig ännu mer om logik inom Python! Försök att göra så många av uppgifterna här nedanför som möjligt!
Uppgifter om Logik:
Här nedan finns en hel del uppgifter som handlar om Logik. Du får göra vilka uppgifter du vill och även arbeta på ett eget projekt, men dessa uppgifter testar om du har förstått hur Logik inom Programmering fungerar.
- Lägg till funktioner i koden som kontrollerar om bokstäverna "ABCD" har skrivits in och om det är så avslutas programmet. Lägg till följande funktioner:
- En funktion som gör att både "ABCD" och "abcd" är accepterade svar för att programmet ska avslutas.
- En funktion som skriver ut om man har skrivit in rätt bokstäver eller inte.
- Skapa ett program som använder sig av loop - händelserna "continue" och "break"
- Skapa ett program som frågar efter användarens namn och skriver ut det. Efter det så frågar programmet om användaren vill skriva ut namnet igen, om användaren vill skriva in ett nytt namn eller om användaren vill avsluta programmet.
- Skapa ett program som har minst en fråga och använder sig av en while - loop.
- Skapa ett program som frågar användaren efter en siffra och sedan frågar efter hur många gånger användaren vill skriva ut siffran. Därefter skrivs siffran ut lika många gånger som användaren angett och sedan avslutas.
Nu så har du lärt dig mer om Logik inom Programmering! Bra jobbat!
Om du vill så kan du gå vidare till nästa lektion inom Programmering redan nu. Dock så har vi inte publicerat nästa lektion inom Programmering just nu, men den kommer att laddas upp inom kort!