Oppgaver
6.07: Fotballkort
Vi skal i denne oppgaven modellere barn som samler på fotballkort. For å kjøpe fotballkort må man ha penger, og penger får man selvfølgelig når man rydder rommet.
a) Skriv en klasse Barn med en init-metode som tar inn navn, penger og antall kort som parameter. Sett disse verdiene. Skriv metoder for å hente disse instansvariablene.
b) Skriv en funksjon rydd_rommet hvor barnet tjener 15 kr
c) Skriv en funksjon kjop_fotballkort hvor barnet bruker 8 kr på å kjøpe et fotballkort. Husk å teste om barnet har råd til et kort
d) Opprett et objekt av klassen Barn og la barnet rydde rommet tre ganger.
Bruk så en løkke til å kjøpe så mange fotballkort som mulig og skriv ut hvor mye penger og hvor mange kort barnet har. Kjøp så enda et kort.
# A
class Barn :
def __init__(self, navn, penger, kort):
self._navn = navn
self._penger = penger
self._fotballkort = kort
def hent_penger(self):
return self._penger
def hent_navn(self):
return self._navn
def antall_fotballkort(self):
return self._fotballkort
# B
def rydd_rommet(self):
# Tjener 15 kr
self._penger += 15
# C
def kjop_fotballkort(self):
if self._penger >= 8 :
self._penger-= 8
self._fotballkort+= 1
else:
print(self._navn, "har bare", self._penger,
"kr, og har ikke raad til kort")
# D
magne = Barn("Magne", 0, 0)
magne.rydd_rommet()
magne.rydd_rommet()
magne.rydd_rommet()
while magne.hent_penger() >= 8 :
magne.kjop_fotballkort()
print("Magne har", magne.hent_penger(), "kr og",
magne.antall_fotballkort(), "fotballkort")
magne.kjop_fotballkort()