Trikkeeksempel.
![Trikk - Wikipedia](https://upload.wikimedia.org/wikipedia/commons/0/00/Unspecific_tram_line_drawing.png)
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