Till KTH:s startsida Till KTH:s startsida

Laboration 3

Laboration 3

Labben handlar om: strängar, listor, tupler, dictionary, filer.

Labben redovisas på veckans övning. Det Pythonprogram du skriver kan ge 0-2 bonuspoäng (beroende på hur väl det uppfyller kraven). 
Instuderingsfrågorna redovisas med ett prov, som också kan ge max 2 bonuspoäng.

Uppgift 1: Läxa

Uppgift 2: Skriv ett program som anordnar ett glosförhör.

Programmet ska

  • Läsa in glosorna från fil (antal glosor på filen kan variera).
  • Skriva ut en lista med glosorna.
  • Ordna ett förhör med alla glosor och räkna antal rätta svar.
  • Skriva ut antal korrekta svar efter förhöret.

Körexempel:


	     Svenska    Setswana 
	     ====================
	     pumpa	lerotse
	     gröt       bogobe
	     kött       nama
	     spenat     morogo
	     fil        madila
	     kyckling   koko       
	     majs       mmidi      
	     bönor      dinawa     


	     Glosförhör
	     ==================
	     Vad betyder lerotse?
	       1. gröt 
	       2. spenat 
	       3. pumpa 
	     Svar: 3
	     .
	     .
	     .
	

Testning

Glöm inte att testa att ditt program fungerar som det ska. Spara dina testkörningar!

Krav

  • Programmet ska vara uppdelat i funktioner med lämpliga parametrar och returvärden.
  • Glosorna ska läsas in från en valfri fil.
  • Orden ska lagras i någon datastruktur (lista/tuppel/dictionary).
  • ... och dessutom följande krav från första och andra labben:
    • Programmet ska ha en kommentar överst med författarnas namn och datum.
    • Varje funktion ska ha en förklarande kommentar.
    • Inga globala variabler får förekomma (i funktionerna).
    • Variabelnamnen ska göra programmet lättare att förstå.
    • Testdata ska finnas med i kommentar sist i programmet.
    • Programfilen ska kopieras till gruppens Dropbox-katalog.

Instuderingsfrågor

  1. Vilka tre parametrar har range() ?
  2. Vad gör random-funktionen shuffle() ?
  3. Vad gör strängmetoden ljust() ?
  4. Vad är skillnaden mellan strängmetoderna split() och strip() ?
  5. Vad är index i en lista? Visa med ett exempel!
  6. Strängar och tupler är oföränderliga (immutable). Vad innebär det?
  7. Vad gör listmetoden append() ?
  8. Hur kan man använda en for-slinga för att skriva ut alla elementen i en lista?
  9. Hur skapar man en tom dictionary?
  10. Vad gör dictionary-metoden keys() ?
  11. Hur anger man om en textfil ska öppnas för läsning eller skrivning?
  12. Ge två olika förslag på hur man kan läsa in alla rader från en fil.

Efter labben

Hur tycker du att ditt eget arbete med labben fungerade? Borde du ha gjort något annorlunda? Fundera en stund, och skriv upp några tips till dig själv inför nästa labb!

Extrauppgifter (inte obligatoriska): 

  • Beräkna och skriv ut hur många procent rätt man fick.
  • Ge olika kommentarer beroende på andelen korrekta svar.
  • Låt användaren välja om hen vil bli förhörd på svenska eller setswana
  • Lägg till ord på flera språk och låt användaren välja vad hen vill öva på. exempelfil

Lärare Linda Kann skapade sidan 27 januari 2016

kommenterade 4 februari 2016

Hej,

Jag har fortfarande feber alltså kan inte vara med på föreläsningar eller övning.

Lärare kommenterade 4 februari 2016

Krya på dig!

Och hör av dig när du är frisk och tillbaka i skolan så planerar vi för hur du ska komma ikapp.

kommenterade 4 februari 2016

Tusen tackar!

För resten, när kan man börjar jobba med labb 4?