elev.py
Lag en klasse elev
- Ta inn navn og egenskaper i konstrukt?ren og lagre disse i tilsvarende instansvariabler
- Lag en instansvariabel self._hus som skal starte med ? v?re None
N?r vi leser fra fila st?r navn i rekkef?lgen; etternavn, navn. Merk at etternavn og navn er skilt med komma.
- Lag en metode hent_naturlig_navn som returnerer navnet slik vi vanligvis leser det; navn etternavn.
Lag s? en streng-representasjon av elev ved hjelp av __str__
- Den skal inneholde naturlig navn.
- I tilegg til navn skal den hvis hus er None inneholde "Eleven har ikke blitt sortert til et hus enda\n"
- Hvis eleven har blitt sortert i hus skal den i tillegg til navn inneholde huset.
- Til slutt skal den inneholde alle egenskapene som ligger i lista self._egenskaper p? en naturlig form.
Lag en metode sett_hus
- Den tar inn et hus (som sendes med som string) og setter dette i instansvariabelen hus.
Lag en metode hent_egenskaper
- Den returnerer egenskapene
Lag en metdoe sjekk_egenskap
- Den sjekker om en gitt egenskap er i lista av egenskaper
valghatt.py
Lag en klasse valghatt
- Konstukt?ren har ingen parametre, men har en instansvariabel self._hus_ordbok.
- Den skal v?re ei ordbok med de fire n?klene "Ravnklo", "H?sbl?s", "Griffing" og "Smygard". Verdien til hver n?kkel skal v?re ei tom liste.
Lag en metode _sorter
- Metoden har en parameter elev, som er et elev-objekt.
- Hvis eleven har egenskapen intelligent, skal huset v?re Ravnklo
- Hvis eleven har egenskapen snill og ikke har egenskapen dristig, skal huset v?re H?sbl?s
- Hvis eleven har egenskapen modig eller har egenskapen dristig, skal huset v?re Griffing
- Hvis eleven har egenskapen ambisi?s eller ond eller slu, skal huset v?re Smygard
- Til slutt skal huset til eleven settes til det det skal v?re og eleven skal legges til i lista p? n?kkelen hus i self._hus_ordbok.
- Husk at elev har metodene sjekk_egenskap og sett_hus.
Lag en metode sorter_i_hus
- Den tar inn ei liste med elever og kaller p? _sorter p? hver elev i lista.
Lag en metode hent_hus_ordbok
- Metoden returnerer hus-ordboka
galtvort.py
Lag en klasse galtvort
- I konstukt?ren skal det lages ei tom liste self._elever
- Det skal ogs? oprettes et valghatt-objekt som lagres i self._valghatt
Lag en metode _les_inn_elever
- Den tar inn et filnavn
- Navn og egenskaper er skilt med semikolon.
- Hver egenskap er skilt med komma
- G? gjennom fila og oprett elever med navn og egenskaper som ei liste av egenskaper
- Legg elevene til i elev-lista
- Kall p? denne i kontrukt?ren og pass ogs? p? at konstrukt?ren da tar inn filnavn.
Lag en metode skriv_ut_elever
- Skriv ut alle elevene i elev-lista
Lag en metode sorteringssermoni
- Metoden kaller p? sorter_i_hus fra valghatt
Lag en metode skriv_ut_etter_hus
- For hvert hus, skriv ut navnet p? huset etterfulg av alle elevene i huset
- Kun navn denne gangen og ikke info om egenskaper og hus
test_galtvort.py
Lag et hovedprorgam
- Lag et galtvort-objekt og send med fil
- Skriv ut alle elevene og se at utskriften ser grei ut
- Gj?r et kall p? sorteringssermoni og skriv ut elevene p? nytt
- Skriv s? ut etter hus