FAQ - vanliga frågor

Frågor om Labb 9

  • Ska man skicka in filen atoms.txt ?

Nej. Kattis tar bara emot programfiler. Skriv om programmet så att atomerna inte läses från fil. Tips: Det finns ett testprogram i Labb 7 som har alla atomdata.

Frågor om Labb 8

  • Testas några andra typer av fall än de givna i exemplen som tex två stora bokstäver (HH2) eller två små (Hee)? 

Nej. Flera atomer i rad (t ex HH2) kommer först i labb 9.

  • Varför ska indata "cr12" ge utskrift "Saknad stor bokstav vid radslutet cr12" och inte "Saknad stor bokstav vid radslutet r12". Jag tänker när vi har kollat "c" mot regeln <LETTER> ska den inte finnas kvar i kön längre och ska alltså inte skrivas ut i felutskriften. 

Principen är att man säger till direkt när det syns att det är fel. Redan när man tjuvkikar (med peek) på första tecknet i "cr12" så syns det att det saknas en stor bokstav.

  • Varför ska indata "H01011" ge "För litet tal vid radslutet "1011" och inte "För litet tal vid radslutet "01011" ?

När det gäller talen måste man använda en annan strategi än för atomnamnen. Första siffran måste läsas in så att vi kan tjuvtitta på nästa tecken för att se om det också är en siffra.

Frågor om Labb 7

  • Får man använda Pythons inbyggda hash som sin hashfunktion?

Nej. Man måste skriva en egen hashfunktion.

  • Går det bra att använda något av exemplen på hashfunktioner från föreläsningen?

Ja.

Frågor om Labb 6

  • Hur lägger man in ett objekt i en dictionary?

Först gäller det att välja vad som ska användas som nyckel. Om vi t ex har en klass Glass och väljer att ha attributet "smak" som nyckel skulle det kunna se ut så här:

glassobjekt = Glass(pris, smak, ingredienser)
glassdict[glassobjekt.smak] = glassobjekt

Frågor om Labb 5

  • Hur ritar man stack frames?

Titta på exemplet i kursboken, Figure 6 i avsnitt 5.6

Frågor om Labb 4

  • Ska både labb4 och labb5 redovisas denna vecka?

Nej, labb4 ska redovisas denna vecka och labb5 nästa vecka. (Förra året testade vi att ha redovisning av båda på en gång men det blev stressigt.)

  • Får man bestämma själv vilka parametrar makeChildren ska ha? Och om den ska ha returvärde?

Ja - du får själv bestämma hur din makeChildren ska vara uppbyggd.

Frågor om Labb 3

  • Var ska hända om man försöker putta in något som redan finns i trädet?

Ingenting. Trädet ska bara lagra en upplaga av varje objekt som läggs in.

  • Var ska hjälpfunktionerna ligga?

I samma fil som klassen. Här är ett exempel med shrink som hjälpfunktion.

class Box:
  def put(self, thing): # Metod
        self.contents = shrink(thing)

def shrink(thing): # Funktion
    return thing/1000
  • Måste vi skriva funktioner?

Nä, men det blir enklare.

  • Måste vi använda rekursion?

Nä, men vissa saker blir enklare med rekursion.

  • Vad ska vi skicka in i Kattis?

Både klassen bintreeFile.py och testprogrammet main.py (som är givet i uppgiften).

Frågor om Labb 2

  • Vad är ett privat attribut?

Ett privat attribut inleds med understreck (t ex self._strumpor) och går bara att komma åt inuti klassen. Läs mer om privata attribut här: slides Links to an external site.

  • Hur fixar man inläsningen med Kattis?

Om det inte fungerar att använda "input" så kan du läsa in från "sys.stdin", så här

    indata = sys.stdin.readline()

Titta också på exemplet "A different problem" i Kattis hjälptexter Links to an external site.

  • Kattis säger "Wrong answer" men mitt svar ser rätt ut - vad ska jag göra?
    1. Ta bort ledtexten (skriv bara input() istället för input("Ge korten: ) ")
    2. Se till att det är mellanslag mellan värdena i utskriften (1 2 3 istället för 123)
    3. Döp om ditt huvudprogram till main.py
    4. Om varken 1 , 2 eller 3 löser problemet så är det bäst att fråga!
  • Blir x en array om jag skriver så här?
     x = []

Nej, x blir en lista. Du kan kolla vilken typ/klass x har har genom att skriva print(type(x))

  •  Har kö index?

Nej.

Frågor om Labb 1

  • Jag kan inte lämna in i Canvas.
    1. Kontrollera att du är inloggad i Canvas (se bilder nedan).
    2. Prova med en annan webbläsare.
Inte inloggad Inloggad
CanvasInloggning.GIF Inloggad i Canvas

 

Frågor om Kontrollskrivningarna.

  • Var finns läsanvisningar inför kontrollskrivningarna?

    I kursPM finns alla läsanvisningar för boken.

  • Var finns information om kontrollskrivningarna?

      På sidan Kontrollskrivningar

  • Hur många poäng ger godkänt?
    4 poäng eller mer (av 6 möjliga) ger godkänt.
  • Om jag missar en kontrollskrivning, måste man då göra om alla?
    Nej, det räcker att du gör om den kontrollskrivning du missade.
  • Kan jag få över E på momentet KONT fast jag omtentat en KS?
    Ja, efter att du kompletterat och blivit klar med alla KS:ar har du samma sorts E som den som klarade alla KS:ar vid första försöket! 
  • Får jag göra högrebetygslabbar även fast man missat en KS?
    Labbarna är ett separat moment med separat betyg, KS:arna påverkar inte betyget på labb-momentet.
  • Den schemalagden tiden för KS1 är 2h. Dock är skrivtiden bara 45min. Får man påbörja skrivning av KS1 kl 9:15 istället?
    Nej, skrivtiden är 8:15 - 9:00, så du kan inte skriva längre än till kl 9:00 även om du startar senare. (Funka R1 har längre skrivtid.)
  • Om jag råkar lämna in för tidigt, kan jag börja om?
    Nej. Om du missar KS:en får du skriva om den vid omKS-tillfället. 
  • Måste jag anmäla mig till omKS?
    Nej. 
  • När är det omKS? 
    Se "Examination" i schemat (början av november)
  • Hur får man högre betyg än E på tentan?
    Man muntar för betyg C och sen för betyg A.

Allmänna frågor

  • Labbtillfällen: bara redovisning eller även hjälp?

Ja, det går att få hjälp på labbtiderna. Det går också att få hjälp hos Allmänhandledningen (Felix, Marko och Ted är Tilda-specialister).

  • Lämna in labbarna i tid? Deadline?

Datum och tid för inlämning syns i labben.

  • Om vi har gjort olika program, ska vi visa bägge vid redovisningen?

Det beror på om det finns tid till det. Det räcker oftast att titta på det ena eftersom det är era kunskaper vi kollar.

  • Om ens labbpartner har fått förhinder och inte kan redovisa, går det att redovisa labben själv?

Det går bra att redovisa själv. Men labbkompisen måste redovisa senare.

  • Vad händer om man är sjuk och inte kan redovisa?

Lämna in labben i Canvas och kontakta mig så berättar jag när du kan redovisa (och ser till att den inte räknas som sen).