Kmom02: Villkor och loopar
Vi har bekantat oss med värden, datatyper och variabler och det är nu dags för en introduktion till hur vi kan styra flödet av data i våra program. Först tittar vi på booleska operatorer och hur vi kan använda sant eller falsk för att exekverera olika delar av koden. Efter det introduceras loopar som kan användas för upprepa delar av koden. 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.
(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 40 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)
#Läsanvisningar
(ca: 4-8 studietimmar)
#Kurslitteratur
Läs följande:
- Python for Everybody: Exploring data in Python3
- Ch3 Conditional execution
- Ch5 Iteration
- Ch6 Strings
#Artiklar
Läs följande:
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.
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ätten vi kan formatera strängar i Python String Formatting Best Practices. I kursen använder vi “New Style” eller “f-Strings”.
#Video
Titta på följande:
Videoserien Lär dig Python är tätt kopplat till kursmaterialet. Kika på de videor som börjar med 2.
De videor som följer med och kompletterar kurslitteraturen.
- Python for Informatics: Chapter 3 - Conditional execution part 1
- Python for Informatics: Chapter 3 - Conditional execution part 2
- Python for Informatics: Chapter 5 - Iteration part 1
- Python for Informatics: Chapter 5 - Iteration part 2
- Python for Informatics: Chapter 5 - Iteration part 3
- Python for Informatics: Chapter 5 - Iteration part 4
- Python for Informatics: Chapter 6 - Strings part 1
- Python for Informatics: Chapter 6 - Strings part 2
#Lästips
Hur man löser valideringsfelet “line-to-long” med radbrytning i Python.
Think Python: How to Think Like a Computer Scientist
- App A Debugging
#Övningar & Uppgifter
(ca: 12-16 studietimmar)
#Övningar
Jobba igenom artikeln/övningen “Jämförelseoperatorer och booleska värden” för att träna på hur värden jämförs 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
me/kmom02/flow
.Jobba igenom artikeln/övningen “Villkor och loopar” för att öva in hur vi kan styra flödet i våra program. De exempelprogram du gör kan du spara i ditt kursrepo under
me/kmom02/flow
.Läs igenom och kolla på videorna för del 1 till 3 i “Debugger i Python” för att lära dig felsöka och förstå din kod med debuggern. Kan ersättas av Thonny. Thonny fungerar som en grafisk debugger.
Läs igenom artikeln/övningen “Felhantering i Python”. Vänta med att läsa denna artikeln till andra veckan i kmom02 eller när du börjar bli klar med Marvin uppgiften. I den lär du dig att hantera fel som uppstår under exekvering och förhindra ditt program från att krascha.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
Gör uppgiften “Python med villkor och loopar” för att träna på
if
-satser,for
- ochwhile
-loopar. Spara alla filer underme/kmom02/lab2
.Gör uppgiften “Din egen chattbot - Marvin - steg 1”, ditt första lite större Pythonprogram där du lär Marvin att svara på frågor. Spara alla filer under
me/kmom02/marvin1
.
#Extra
Det finns inga extra uppgifter.
#Resultat & Redovisning
(ca: 1-2 studietimmar)
Läs instruktionen om hur du skall lämna in och redovisa.
Se till att följande frågor besvaras i redovisningstexten.
- Hur känns syntaxen i Python?
- Är det enkelt att se programmets struktur och vad det gör?
- Har du fått en förståelse för hur loopar och villkor fungerar?
- Vad är skillnaden på en while-loop och en for-loop?
- Hur går det med valideringen av uppgifterna?
- Är du överens med pylint om eventuella felmeddelanden vid valideringen?
- Hur gick det att utföra uppgifterna, var de enkla eller svåra?
- Gjorde du någon av extrauppgifterna? Berätta om det arbetet isåfall.
#Revision history
- 2019-06-10: (I, aar) Förlängde kursmomentet till 40h.
- 2018-06-08: (prel, mos) Nytt dokument inför uppdatering av kursen.
- 2017-06-14: (H, efo) Rensade i kurslitteratur och länkade in nytt material.
- 2016-03-15: (G, mos) Tog bort videoserie MonkeyLords och NewBoston.
- 2016-02-22: (F, mos) Lade till videoserien “Lär dig Python”.
- 2015-01-30: (E, mos) Länk till läsanvisning appendix 2.
- 2015-01-08: (D, mos) Bort blå ruta med kursutveckling pågår.
- 2014-10-01: (C, mos) Ändrade länken till redovisa-instruktionen.
- 2014-09-03: (B, mos) Första officiella versionen.
- 2014-08-27: (A, mos) Första utgåvan för python kursen.