Din egen chattbot - Marvin - steg 2

By . Latest revision .

Programmering och problemlösning i Python. Jobba vidare med Marvin och implementera ny funktionalitet som använder listor.

#Förkunskaper

Du kan grunderna i Python och stränghantering och du har byggt första delen av Marvin.

#Introduktion

Du skall bygga en ryggsäck till Marvin med hjälp av listor.

Du skall kommunicera med Marvin via text och inte via ett menyval.

Se hur det kan se ut när uppgiften är klar:

#Krav

  1. Kopiera din Marvin från föregående kursmoment och utgå från den koden.
# Flytta till kurskatalogen
cd me
cp -ri kmom02/marvin1/marvin.py kmom03/marvin2/
cd kmom03/marvin2
  1. Lär Marvin att hantera listor. Lägg till så att Marvin kan plocka upp saker på en valfri plats i sin nya ryggsäck. Skickas ingen placering så skall den hamna på slutet.

  2. Marvin skall kunna säga hur många saker om finns i listan samt skriva ut dem.

  3. Man ska kunna skriva in namnet på en sak som Marvin skall kasta bort från sin ryggsäck.

  4. Ge Marvin möjligheten att kunna byta plats på två stycken saker.

  5. Felhantering. Anger man ett för högt index eller om det man vill kasta samt byta plats inte existerar i ryggsäcken så skall Marvin berätta detta för dig.

Följande kommandon skall fungera. Notera att Marvin ska kunna plocka upp vad som helst. Nedan visas flower, book och 0 enbart som exempel.

Kommando Vad händer
inv Marvin skall säga hur många saker om finns i listan samt skriva ut dem
inv pick flower Plocka upp en blomma
inv pick book 0 Plocka upp en bok och lägg den i början av listan
inv swap flower book Byter plats på blomman och boken
inv drop flower Kasta bort blomman
  1. Validera och publicera Marvin genom att göra följande kommandon i kurskatalogen i terminalen.
# Flytta till kurskatalogen
dbwebb validate marvin2
dbwebb publish marvin2

Rätta eventuella fel som dyker upp och publicera igen. När det ser grönt ut så är du klar.

#Extrauppgift

Finns inga extrauppgifter.

#Tips från coachen

Felsöka med debuggern.

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

  • 2020-06-22: (A, aar) Skapad inför V3 HT20.

Document source.

Category: python.