class Bud:
def __init__(self, budgiver, budStr):
self._budgiver = budgiver
self._budStr = budStr
if budStr < 0:
self._budStr = 1
def hentBudgiver(self):
return self._budgiver
def hentBudStr(self):
return self._budStr
class Annonse:
def __init__(self, annTekst):
self._annTekst=annTekst
self._budListe=[]
def hentTekst(self): #returnerer annonse tekst
return self._annTekst
def giBud(self, hvem, belop): #oppretter og legger til nytt bud
#i en liste over bud
nuttBud=Bud(hvem, belop)
self._budliste.append(nyttBud)
def antBud(self): #returnerer antall bud
return len(self._budListe)
def hoyesteBud(self): #returnerer høyeste bud
#dersom like bud, det som kom først
hoyeste=None
hoyesteVerdi=0
for bud in self._budListe:
if bud.hentBudStr()>hoyesteVerdi:
hoyeste=bud
hoyesteVerdi=bud.hentBudStr()
return hoyeste
def kraftBud(self, hvem, belop, max):
budBelop=belop
hoyeste=self._hoyesteBud()._hentBudStr()
if belop<hoyeste:
budbelop=hoyeste+1
if budBelop>max:
budbelop=max
self._giBud(hvem, budBelop)
#i klassen Annonse:
def tellLaveBud(self):
hoyeste_hitill=0
antall_lavere=0
for bud in self._budListe:
if bud.hentBudStr()>hoyeste_hitill:
hoyeste_hitill=bud.hentBudStr()
else:
antall_lavere +=1
return antall_lavere
class Kategori:
def __init__(self, katNavn):
self._katNavn=katNavn
self._annonseliste=[]
def nyAnnonse(self, annTekst):
nyAnn=Annonse(annTekst)
self._annonseliste.append(nyAnn)
def hentAnnonser(self):
return self._annonseliste
#i klassen kategori:
def tellLaveBud(self):
antall=0
for annonse in self._annonseListe():
antall +=ann.tellLaveBud()
return antall
class BruktMarked:
def __init__(self):
self._kategorier={}
def finnKategori(self, katNavn):
for kat in self._kategorier:
if kat==katNavn:
return self._kategorier[kat]
return None
def nyKategori(self, katNavn):
if finnKategori(katNavn) == None:[error]finnKategori not defined[/error]
nyKat=Kategori[katNavn]
self._kategorier[katNavn]=nyKat
return nyKat
else:
return None
#i klassen bruktmarked
def tellLaveBud(self):
antall=0
for kat in self._kategorier:
antall +=self._kategorier[kat].tellLaveBud()
return antall
def main():
marked=BruktMarked()
kat=marked.nyKategori("sykkellykt")
ann=kat.nyAnnonse("New Yorker sykkellykt")
ann.giBud("Peter",42)
ann.giBud("Ann", 0)
ann.kraftBud("Mary",40,50)
hoyesteBudStr=ann.hoyesteBud().hentBudStr()
budGiver=ann.hoyesteBud().hentBudgiver()
print(hoyesteBudStr, "gitt av" , budGiver)
main()
classes , error at line 88 name finnKategori not defined
|
classes , error at line 88 name finnKategori not defined
|
|
Nov-12-2018, 08:06 PM
Use self.finnKategori() to refer to object's own method.
And next time please post full error traceback message in error tags along with code. (Nov-12-2018, 08:06 PM)j.crater Wrote: And next time please post full error traceback message in error tags
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link Create MCV example Debug small programs |
|
|
Users browsing this thread: 1 Guest(s)
