Uke 10 - N?stede lister og et litt st?rre eksempel

Denne uken skal vi se p? hvordan vi kan representere rutenett som n?stede lister og g? igjennom et litt st?rre eksempel. Vi skal ogs? se mer p? hvordan man kan bygge klasser som bruker klasser.

 

Trikkeeksempel.

L?sninger:

L?sningsvariant 1

Trikkeklassen fra timen:

trikk.py (de andre filene er uendret i forhold til filene over)

Gitt en klasse passasjer (passasjer.py).

Skriv klassen trikk.

1. Konstrukt?ren tar inn et rutenr og antallRader. Alle trikker har plass til 5 personer p? hver rad. 1 rad kan se slik ut:

Betty ledig Lon Rodger Cora

(ledig er plasser som ingen person sitter p?)

2. Lag en privat metode som tar inn antallRader og lager trikken i form av

et rutenett. Hvor hver rad har en rekke plasser (seter) per rad.

Marker alle setene som ledige. 

 

3. Lag en __str__ metode som gir en visuel representasjon av trikken:

Slik at trikken ved ett stopp kan se slik ut:

Mindy Oren Norberto Lola Gale
Betty ledig Lon Rodger Cora
Colin ledig ledig ledig Fermin
Warren ledig ledig ledig Clifton
Carmine ledig ledig ledig

Sonny

Graciela ledig ledig ledig Janna
Elvira ledig ledig ledig Daphne
Araceli ledig Antione Amber Jerold

 

4. Lag en metode gaaPaaTrikk, som tar inn en passasjer som setter seg hvis

det er en ledig plass p? trikken. Returner true hvis det var et ledig sete

og det er plass til passasjereren. Hvis det ikke er plass returner false

 

5. Lag en metode gaaAvTrikk som tar inn en stasjon. Som finner alle passasjerer

som skal av p? gitt stasjon, og fjerner dem fra trikken. (Metoden hentAvstigning til

klassen passasjer returner hvor passasjereren skal g? av). Bruk metoden gaarAvRiktig

slik at passasjereren blir markert til ? ha g?tt av p? riktig stopp. Sett sete

som ledig. Dersom en passasjer ikke skal av p? stasjonen oppdater antall dager personen har sittet p? med bruk av metoden ookAntallStasjoner til klassen passasjer.

 

6. Utvid metoden gaaAvTrikk slik at hvis mer enn 4 av naboene til en passasjer

stinker (bruk passasjer sin metode stinker). S? g?r denne passasjereren av pga d?rlig

lukt.

 

Naboene til Rodger (fra oppgave 3) er:

Norberto Lola Gale
Lon (Rodger) Cora
ledig ledig Fermin

 

Alts? de som sitter rundt en person


 

7.Lag et hovedprogram som oppretter en trikk med 10 rader. Leser inn en liste med

stopp fra filen "trikk13.txt", og en som oppretter en liste med passasjerere.

Lag s? metoden kjorTrikk som tar inn de to listene og som kj?rer trikken

s? lenge brukeren vil. Til slutt skriv ut en statestikk som innholder:

  • antall som skulle ta trikken
  • antall som kom fram
  • antall som kom p?
  • antall som lukter
  • antall som ikke kom fram pga lukt
Publisert 21. okt. 2020 22:02 - Sist endret 6. des. 2020 01:00