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).
Förberedelser
Section titled “Förberedelser”Innan du börjar med kmom02 så behöver du ha jobbat igenom Kmom01.
Inspelat material
Section titled “Inspelat material”Här hittar du inspelningar som görs under kursens genomförande.
Loopar
Section titled “Loopar”Nu ska vi fokusera på hur vi kan upprepa kodavsnitt, dvs arbeta med iteration.
Programmeringsregler i python
Section titled “Programmeringsregler i python”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.
Att göra
Section titled “Att göra”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.
Kurslitteratur
Section titled “Kurslitteratur”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):
-
Ch5 Iteration
-
Ch6 Strings
-
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. -
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.
-
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.
-
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.
Mer material
Section titled “Mer material”-
Kolla på bilden My code isn’t working. Spara bilden för att underlätta när saker går fel.
-
Läs om de olika sätt vi kan formatera strängar i Python String Formatting Best Practices.
Seminarium
Section titled “Seminarium”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.
Uppgifter
Section titled “Uppgifter”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.
Resultat & Redovisning
Section titled “Resultat & Redovisning”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.