Skip to content

Kmom02: Loopar

Vi har bekantat oss med värden, datatyper, variabler och hur vi kan styra flödet i vårt program med selektion. Nu är det dags för att titta på hur vi kan upprepa delar av koden. Det kallas iteration och görs med loopar. Till slut är det dags att skriva ditt första lite större program där Marvin skall få lite intelligens när han svarar på frågor.

Här är en inspelning som visar hur det kan se ut, men observera att uppgiften är lite annorlunda (se kraven).

Play

Innan du börjar med kmom02 så behöver du ha jobbat igenom Kmom01.

Här hittar du inspelningar som görs under kursens genomförande.

Spellista python-kursen ht26

Nu ska vi fokusera på hur vi kan upprepa kodavsnitt, dvs arbeta med iteration.

Skumma igenom Mastering PEP 8 in Python: Best Practices for Clean and Readable Code för att få ett hum om regler vi följer när vi skriver Python kod. Tips skriv en sammanfattning av de viktigaste reglerna.

Här kan du på egen hand förbereda dig genom att läsa i kurslitteraturen, jobba med övningar och dessutom lite annat material som är relevant.

Vi fortsätter att läsa i boken Python for Everybody: Exploring data in Python3.

Läs och jobba igenom följande kapitel i boken (alternativt kolla på videorna):

  1. Ch5 Iteration

  2. Ch6 Strings

  1. Jobba igenom artikeln “Introduktion till loopar” för att träna på loopar i Python. Python-interpretatorn används för att testa koden. Vill du spara någon del av koden så gör du det under src/kmom02/practice.

  2. Läs igenom artikeln/övningen “Felhantering i Python”. I den här artikeln lär du dig att hantera fel som uppstår under exekvering och förhindra ditt program från att krascha.

  3. Följ och arbeta igenom “FizzBuzz med pseudokod” för att se hur man kan bryta ner ett problem i delproblem och formulera lösningar i pseudokod som slutligen översätts till Python.

  4. Läs Hur man tänker som en programmerare och problemlösare. Sammanfattning av en artikel som diskuterar hur man tänker som en programmerare.

Inför seminariet bör du ha arbetat igenom övningen “Introduktion till loopar” och läst motsvarande i kurslitteraturen. Det är dessutom bra om du har tittat igenom övningen “FizzBuzz med pseudokod”.

Kort före seminariet publiceras de uppgifter och frågor som vi kommer att arbeta med under seminariet.

Läs om seminarier.

Seminarium 02


Följande uppgifter skall utföras och resultatet skall redovisas.

Gör uppgiften “Marvin” för att visa att du har koll på loopar. Spara alla filer under src/kmom02/marvin.

Läs instruktionen om hur du skall redovisa.

Som en del av din inlämning via GitHub svara på nedanstående frågor i din README.mdfil. Se till att du skriver om dina lärdomar och reflektioner. Vi vill inte läsa vad ChatGPT, Claude eller Copilot har för reflektioner, men vad ni har lärt er under veckan.

  • Hur känns syntaxen i Python? Med andra ord, hur känns det att skriva python kod, känns den logisk?
  • Vad är skillnaden på en while-loop och en for-loop?
  • Ge ett exempel där det passar att använda en while-loop men inte en for-loop, och tvärtom.
  • Hur går det med valideringen av uppgifterna, har du problem med någon speciell regel?
  • Vilken är din TIL för detta kmom?

TIL är en akronym för “Today I Learned” vilket leksamt anspelar på att det finns alltid nya saker att lära sig, varje dag. Man brukar lyfta upp saker man lärt sig och där man kanske hajade till lite extra över dess nyttighet eller enkelhet, eller så var det bara en ny lärdom för dagen som man vill notera.