Labb 1: Filer, klasser och listor i Python
- Inlämningsdatum 2 sep 2022 av 18:00
- Poäng 10
- Lämnar in en filuppladdning
- Filtyper py och jpg
Mål | Läs i kursboken |
|
□ Hederskodex
Bägge gruppmedlemmarna ska göra följande:
- Läs igenom hederskodexen.
- Gör Hederskodex-quiz
□ Git 
Med git kan du spara olika versioner av din kod, och dela koden med din labbkompis.
Bägge gruppmedlemmarna ska göra följande:
- Gå in på https://gits-15.sys.kth.se/
- Gå igenom Git Hello World Tutorial Links to an external site. (ca 10 min)
- Gör detta Git-quiz
□ Parprogrammering
Laborationerna görs lämpligen i grupper om två.
- Läs på om parprogrammering
- Diskutera med din labbkompis hur ni ska organisera ert arbete. Om ni sitter på olika håll kan replit Links to an external site. vara användbart.
- Gör sedan detta Parprogrammeringsquiz
□ Kattis 
-
Bägge gruppmedlemmarna ska göra följande:
- Gå till sidan för DD1320 tildah22 i Kattis Links to an external site.
- Logga in (längst upp till höger) med ditt KTH-id
- Tryck på knappen Register Now för att komma till registreringssidan för tildah22. Tryck där på Register för att ansluta till Kattis-omgången för denna kurs.
- Läs om hur man lämnar in Python3-program i dokumentationen
- Lös problemet Hello
□ Repetera Python
Apoorva har skapat en fil med koreanska dramer Links to an external site.. Tryck på Raw och spara ner denna csv-fil. Svårt? Använd denna förenklade fil: kdramaMini.txt Download kdramaMini.txt istället.
- Skriv ett program som läser varje rad i filen och skriver ut den på skärmen. Använd gärna modulen csv Links to an external site. så blir det enklare.
- Skriv en egen klass Drama som representerar en rad i filen.
- Klassen ska ha ett attribut för varje rubrik (Drama Name, Rating, Actors, Viewship Rate, Genre, Director, Writer, Year, No of Episodes, Network)
- Klassen ska ha minst fem metoder, bland annat dessa tre:
- __init__
- __str__
- __lt__
- Skriv ett program som skapar två Drama-objekt och anropar de fem metoderna, så att du ser att dom fungerar som dom ska.
- Skriv sedan en funktion som
- läser in alla rader från filen,
- skapar ett objekt för varje rad,
- lagrar objekten i en lista (Pythons list())
- returnerar listan.
- Skriv också en funktion för att söka efter något i listan. Du får själv välja vilket attribut som ska användas vid sökningen.
- Testa till sist att programmet fungerar korrekt.
OBS! Ett enkelt program räcker här - om du har tid över kan du gå vidare till nästa labb!
Redovisning
Labben lämnas in indivuellt med "Lämna in uppgift"-knappen högst upp på denna sida, och ska redovisas muntligt av bägge gruppmedlemmarna. Skriv bägge gruppmedlemmarnas namn i kommentarsfältet!
Boka en tid för den muntliga redovisningen
Vid redovisning ska bägge gruppmedlemmarna
- kunna sammanfatta hederskodexen,
- kunna förklara vad Git används till, och beskriva arbetsgången,
- kunna beskriva riktlinjerna för parprogrammering,
- kunna visa upp en godkänd Kattis-inlämning (gruppmedlemmarna måste visa upp varsin inlämning),
- kunna förklara hur klasser/objekt/listor/filhantering fungerar i Python, med hjälp av program.
Betyg
Denna labb kan endast ge betyg E. Du måste lämna in den i Canvas och redovisa den muntligt i tid för att få göra labbarna för högre betyg i period 2.