Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Laboration 3" mellan 2016-01-27 13:58 av Linda Kann och 2016-01-27 14:08 av Linda Kann.

Visa nästa > ändring.

Laboration 3

Laboration 3 Läs kapitel 6 och 7 i kursbokenabben 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 Uppgift2: Skriv ett program som anordnar ett glosförhör. Programmet ska


* Läsa in glosorna från fil.
* 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 testdata!

Krav
* Programmet ska vara uppdelat i funktioner med lämpliga parametrar och returvärden.
* Glosorna ska läsas in från 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
* Vilka tre parametrar har range() ?
* Vad gör random-funktionen shuffle() ?
* Vad gör strängmetoden ljust() ?
* Vad är skillnaden mellan strängmetoderna split() och strip() ?
* Vad är index i en lista? Visa med ett exempel!
* Strängar och tupler är oföränderliga (immutable). Vad innebär det?
* Vad gör listmetoden append() ?
* Hur kan man använda en for-slinga för att skriva ut alla elementen i en lista?
* Hur skapar man en tom dictionary?
* Vad gör dictionary-metoden keys() ?
* Hur anger man om en textfil ska öppnas för läsning eller skrivning?
* 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 flera filer med glosor och låt användaren välja språk.