Din egen chattbot - Marvin - inventarie
Programmering och problemlösning i Python. Använd fil för att hjälpa Marvin att ha koll på sina inventarier.
#Förkunskaper
Du kan grunderna i Python och filhantering. Du har även byggt andra delen av Marvin.
#Introduktion
Du skall bygga en ryggsäck till Marvin och du skall spara innehållet i ryggsäcken till fil.
Du skall kommunicera med Marvin via text och inte via ett menyval.
> inv *marvin svarar med innehållet i inventoriet* > inv pick mumintrollet *marvin svarar med att han tog upp mumintrollet* > inv drop mumintrollet *marvin svarar med att han släppte mumintrollet*
Se hur det kan se ut när uppgiften är klar:
#Krav
Bygg vidare på din Marvin 2.
# Ställ dig i kurskatalogen
cp -ri me/kmom03/marvin2/* me/kmom04/marvin3
cd me/kmom04/marvin3
Skapa en ny fil
main.py, den ska innehålla koden för while-loopen och vilket val som görs.marvin.pyska innehålla all kod som körs när ett val är gjort, alltså varje enskilt vals kod. Importeramarvin.pyimain.py.Skapa sedan en ny fil
inventory.py, denna fil ska innehålla koden för att hantera Marvins inventarie som beskrivs i nedanstående krav.Marvin ska kunna plocka upp vad som helst.
Spara innehållet i ryggsäcken i en fil som du döper till
inv.data.När du börjar så läser du in ryggsäckens innehåll från filen.
När du ger inventory-kommandon till Marvin så skall det ske i klartext. Genom att prata med Marvin, via kommandon, så ska han kunna visa och förändra innehållet i sitt inventory.
Följande kommandon skall fungera. Notera att Marvin ska kunna plocka upp vad som helst. Nedan visas flower enbart som exempel.
| Kommando | Vad händer |
|---|---|
| inv | Visa vad som finns i inventoryt och hur många saker det finns där. |
| inv pick flower | Plocka upp en blomma, en flower. |
| inv drop flower | Kasta bort blomman. |
5. Validera din kod.
# Ställ dig i kurskatalogen
dbwebb validate marvin3
Rätta eventuella fel som dyker upp och validera igen. När det ser grönt ut så är du klar.
#Extrauppgift
1. Lägg till följande kommando.
| Kommando | Vad händer |
|---|---|
| inv drop | kasta bort allt som ligger i inventoryt. |
2. Marvin ska inte kunna bära mer än 4 saker. Om du ber honom att plocka upp något när han har fullt så ska han svara att han inte kan plocka upp det.
#Tips från coachen
Validera ofta. Så slipper du en massa valideringsfel i slutet av övningen.
Lycka till och hojta till i forumet om du behöver hjälp!
#Revision history
- 2019-06-14: (I, aar, efo) uppdaterat för ligga i kmom04.
- 2018-06-29: (H, aar) Uppdaterade mappstruktur mot kursrepo.
- 2017-06-14: (G, lew) Uppdaterade med en asciinema och ett krav. Förtydligande av uppgift.
- 2015-10-12: (F, mos) Förtydligade (lade till) krav om att spara på fil.
- 2015-09-03: (E, mos) Ändrade max antal till 4 istället för 7 samt tog bort grundkrav om att det redan skall finnas 4 i ryggsäcken.
- 2015-08-25: (D, mos) Uppgraderade till dbwebb v2 samt flyttade två krav till extrauppgifter.
- 2015-05-05: (C, mos) Förtydligade att kommunicera via text och inte menyval.
- 2015-02-03: (B, mos) Länkade till artikel med introduktion av JSON.
- 2015-02-02: (A, sylvanas, mos) Första utgåvan i samband med uppgradering av kursen python.

