Laboration 1

Laboration 1 - Python: Klasser, filer och listor

Qwait

Använd qwait för att köa för hjälp. Logga in med ditt KTH-id på qwait.csc.kth.se och välj tildakön.

Vid redovisningar går vi istället efter bokningslistan (som sätts upp på tavlan i salen).

Hederskodex

  • Läs igenom hederskodexen.
  • Skriv en kommentar här där du bekräftar att du läst hederskodexen (ska göras av varje kursdeltagare).

Arbetsmiljön på Ubuntu-datorerna

  • Öppna ett terminalfönster.
    Under Applications hittar du Accessories och därunder Terminal. Prova att skriva whoami 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 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.pyDu kan också mjukstarta med IDLE (rekommenderas dock inte ihop med Tkinter). Under Applications hittar du Programming och därunder IDLE (using Python-3.2)

Uppgifter

Spara filen geodataSW.txt (se tabellen nedan) på er gemensamma katalog.
Där finns geografiska data för platser i Sverige. Varje plats beskrivs av fem rader, följt av en tomrad. Överst i filen förklaras formatet.

geodataSW.txt geodataSWfailsafe.txt (anvands endast i nodfall)

      1. Skriv en egen klass som representerar en plats.
        Klassen ska ha attribut för alla data i filen.
        Klassen ska ha metoderna __str__ och __init__
        Du kan om du vill även ha en till klass som håller reda på platserna.
        Utöver __str__ och __init__ ska du skriva minst tre metoder (medlemsfunktioner) sammanlagt (antingen i platsklassen eller den valfria klassen för alla platser).

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

      3. Skriv ett program, uppdelat i lämpliga funktioner (eller metoder/medlemsfunktioner), där man kan söka i listan.

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

Betyg

betyg E:

  • Ditt program löser uppgiften
  • Ditt program uppfyller kraven för ett perfekt program
  • Du kan svara tillfredsställande på frågor om labben

betyg C:

  • Kraven för E uppfyllda 
  • Labben inlämnad och redovisad i tid (se deadlines för labbar) 
  • Lägg in tidtagning på sökningen i programmet  (se modulen time)

betyg A:

Redovisning

Labben lämnas in (se inlämning i vänstermenyn) och redovisas muntligt av bägge gruppmedlemmarna.

Bokningslistor läggs upp fredag 30/1. 

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

Feedback Nyheter