Till KTH:s startsida Till KTH:s startsida

Laboration 1

Laboration 1 - Python: Klasser, filer och listor

SimaManager

Under Applications och sedan CSC hittar du SimaManager. I fönstret som öppnas kan du välja kursen tilda. Denna kö använder du när det är full rulle under labbarna och du vill få tag på en assistent. Är det lugnt så är det bara att vifta så kommer vi!

Formaliteter

Laborationerna görs normalt i grupper om två (om det finns utrymme kan du labba ensam, men större grupper är inte tillåtna).

  • Hederskodex.
    1. Läs igenom hederskodexen
    2. Klicka på rosa knappen "Ställ en fråga" och skriv ett inlägg där du bekräftar att du läst hederskodexen ((ska göras av varje kursdeltagare).

  • Öppna ett terminalfönster.
    Under Applications hittar du Accessories och därunder Terminal. Prova att skrivawhoami i terminalfönstret för att se vilken av er som är inloggad just nu.

  • Gör en gemensam labbkatalog där du och din labbkamrat kan jobba.
    Fysiskt skapas katalogen med mkdir hos en av er. Denne måste också sätta accessrättigheter med
      fs sa KATALOGNAMN LABBKAMRAT rlidwk 
    Allt som återstår är att labbkamraten nu loggar in eller gör su (switch user) i ett nytt teminalfönster och skapar en symbolisk länk med
      ln -s ~LABBKOMPIS/KATALOG
    till den gemensamma katalogen.

    Vid redovisning ska du kunna förklara hur en symbolisk länk fungerar.

  • Starta Python.
    Vi rekommenderar att du använder:
    Emacs + Terminal
    Under Applications hittar du Accesories och därunder GNU Emacs och Terminal. Skriv programmet i Emacs och kör det i Terminalen med kommandot:python3 programmet.py

    Du kan också mjukstarta med IDLE (rekommenderas dock inte ihop med Tkinter).
    Under Applications hittar du Programming och därunder IDLE (using Python-3.1)

Uppgifter

Spara filen fsdata.txt (se tabellen nedan) på din katalog tilda13.
Där finns data för dagens gympapass på Friskis & Svettis Stockholm

fsdataUTF8.txt fsdataISO8859.txt fsdata.txt (anvands endast i nodfall)

  1. Skriv en egen klass som representerar ett gympapass.
    Klassen ska ha attributen lokal, tid, passtyp, rum, ledare och platser.
    Klassen ska ha minst fem metoder, bland dem metoden  __str__

  2. Skriv en funktion som läser in data från filen fsdata.txt, skapar gympapass-objekt, och lagrar objekten i en lista. (lista = [  ]).

  3. Skriv ett huvudprogram där man kan söka efter önskat pass.

Vid redovisning ska du kunna förklara hur klasser/objekt/listor/filhantering fungerar i Python.

Betyg

betyg E: Du kan svara tillfredsställande på frågor om labben, ditt program löser uppgiften.

betyg C: Kraven för E uppfyllda + Labben inlämnad via KTH Social senast fredag 24 januari kl 20.00 och redovisad på labbtillfälle måndag 27 januari.

betyg A: Kraven för C uppfyllda + Perfekt program + Testfall

Redovisning

Labben redovisas muntligt av bägge gruppmedlemmarna.
Bokningslistor läggs upp fredag 24/1. 

Väl labbat av ......................................... medger....................... den ...............

Alexander Baltatzis created page 14 January 2014

commented 21 January 2014

en fråga: hur tolkar man de tre siffror som verkar ange antal platser på passet? Är den ena antal inbokade kunder? Är siffran i parentes antal lediga platser?

Teacher commented 22 January 2014

Bra fråga!

8 / 17 (24)

betyder 8 bokade av 17 bokningsbara platser (totalt 24 platser på passet)

commented 22 January 2014

Hur skall sökning efter önskat pass ske? Ska man kunna söka efter valbart antal attribut (typ av pass, tid, etc) eller är det bara typen av pass som är intressant?

Teacher commented 22 January 2014

Här har du viss frihet att bestämma hur programmet ska fungera! Hur skulle du själv vilja att sökningen fungerade?

commented 22 January 2014

Då sökmetoden lär vara en kombination av flera funktioner om man vill kunna söka på olika attribut, räknas det som några av klassmetoderna eller endast en? Mao tidsmässigt hur många funktioner måste vi hinna med...

commented 22 January 2014

När måste laboration 1 redovisas för betyg C? I instruktionen står fortfarande gammal info. 

Teacher commented 23 January 2014

@Beatrice

Sökmetoden är bara en!

Teacher commented 23 January 2014

@Rasmus:

Fredag kväll kl 20 är deadline för betyg C.

commented 23 January 2014

Vart hittar man sidan där man lämnar in labbarna?

commented 23 January 2014

Vi som läste DD1321 i höstas hittade inlämningen för denna kurs under den kurshemsidan (där man lämnade in de andra labbarna).

Teacher commented 23 January 2014

Bra!

Och ni som började  på tilda-kursen nu bör kunna se "Inlämningsuppgifter" i grå text längst ner i menyn (under Schema).

commented 23 January 2014

Jag ser det inte

One user removed his/her comment
commented 23 January 2014

För oss som gick DD1321 under hösten så verkar det som att inlämningsknappen ligger under DD1321 på social och inte på tilda-sidan.

Där hittade jag en inlämningsknapp i alla fall.

Teacher commented 23 January 2014

Det är nog riktigt. Ni måste lämna in på den kursen eftersom ni inte tillhör DD1320. Bra kommentar. 

commented 24 January 2014

Vad kan det vara som gör att man inte ser inlämningsknappen?

Teacher commented 24 January 2014

Det kan bero på att du inte är registrerad på kursen/inte var registrerad när inlämningsuppgiften las upp.

Jag mailar dig om en annan plats att lämna in på. 

One user removed his/her comment
commented 24 January 2014

Jag ser ingen rosa "ställ en fråga"-kapp men bekräftar att jag läst hederskodexen.

commented 24 January 2014

Jag har haft lite strul med registrering av kursen (jag läser individuell studieplan) och kan inte hitta en knapp för inlämning av uppgiften. Ska jag maila mitt program till er när jag är färdig?

Teacher commented 24 January 2014

Det är ett ljusgrå menyval till vänster. Om du läser DD1321 så finns menyvalet på den kursen. 

commented 24 January 2014

Jag läser inte DD1321, jag läser den här kursen för första gången.

commented 24 January 2014

Jag ser ingen rosa "ställ en fråga"-kapp men bekräftar att jag läst hederskodexen.

commented 24 January 2014

Hej Andreas!
Rosa knappen finns på sidan  kursöversikt.

Det som händer när man trycker på den rosa  knappen  är att man ges möjlighet att skapa ett inlägg. Om man skapar ett inlägg kommer detta att hamna  i nyhetsflödet för kursen

/Per