Ich will mir für mein Raspberry ein Drink Spender machen. Da es vom Motorenboard die Treiber nur für Python gibt, werde ich die ganze Software in Python schreiben. Jedoch mache ich etwas konsequent falsch.
Ich habe eine Klasse Zutaten:
Code: Alles auswählen
class Zutat():
def __init__(self, Name, Menge, Tempo):
self.pName=Name
self.pMenge=Menge
self.pTempo=Tempo
def getname(self):
return self.pName
def getmenge(self):
return self.pMenge
def gettempo(self):
return self.pTempoCode: Alles auswählen
from ALS.Zutat import Zutat
class Drink():
myZutaten = [Zutat]
def __init__(self, NameDrink):
self.NameDrink=NameDrink
self.myZutaten=[]
def getname(self):
return self.NameDrink
def addzutat(self, xName, xMenge, xTempo):
print("Objekt AddZutat")
self.NeueZutat=Zutat(xName, xMenge, xTempo)
self.myZutaten.append(self.NeueZutat)
def getzutatname(self):
NameListe=[]
for each_item in self.myZutaten:
NameListe.append(each_item.getname)
return NameListe
def getzutatmenge(self):
MengeListe=[]
for each_item in self.myZutaten:
MengeListe.append(each_item.getmenge)
return MengeListe
def getzutattempo(self):
TempoListe=[]
for each_item in self.myZutaten:
TempoListe.append(each_item.gettempo)
return TempoListeCode: Alles auswählen
from ALS.Drink import Drink
class Rezepte():
myDrink = [Drink]
def __init__(self):
print("Rezept Objekt DONE")
self.myDrink=[]
def newdrink(self):
print("Drink DONE")
self.NeuerDrink=Drink("Drink1")
self.NeuerDrink.addzutat("Zutat1", 50, 0)
self.NeuerDrink.addzutat("Zutat2", 70, 0)
self.NeuerDrink.addzutat("Zutat3", 80, 0)
self.NeuerDrink.addzutat("Zutat4", 10, 0)
self.myDrink.append(self.NeuerDrink)Code: Alles auswählen
if __name__ == "__main__":
from ALS.Rezepte import Rezepte
a=Rezepte()
a.newdrink()
print("DrinkLaenge", len(a.myDrink))
print("ZutatenMenge", len(a.myDrink[0].myZutaten))
for each_item in a.myDrink:
print("2", each_item.getname)
for each_item in a.myDrink[0].myZutaten:
print("3", each_item.getname)
print("3", each_item.getmenge)
print("3", each_item.gettempo)
Rezept Objekt DONE
Drink DONE
Objekt AddZutat
Objekt AddZutat
Objekt AddZutat
Objekt AddZutat
DrinkLaenge 1
ZutatenMenge 4
2 <bound method Drink.getname of <ALS.Drink.Drink object at 0x0050CD70>>
3 <bound method Zutat.getname of <ALS.Zutat.Zutat object at 0x0050C710>>
3 <bound method Zutat.getmenge of <ALS.Zutat.Zutat object at 0x0050C710>>
3 <bound method Zutat.gettempo of <ALS.Zutat.Zutat object at 0x0050C710>>
3 <bound method Zutat.getname of <ALS.Zutat.Zutat object at 0x0050CC10>>
3 <bound method Zutat.getmenge of <ALS.Zutat.Zutat object at 0x0050CC10>>
3 <bound method Zutat.gettempo of <ALS.Zutat.Zutat object at 0x0050CC10>>
3 <bound method Zutat.getname of <ALS.Zutat.Zutat object at 0x0050CD90>>
3 <bound method Zutat.getmenge of <ALS.Zutat.Zutat object at 0x0050CD90>>
3 <bound method Zutat.gettempo of <ALS.Zutat.Zutat object at 0x0050CD90>>
3 <bound method Zutat.getname of <ALS.Zutat.Zutat object at 0x0050CDF0>>
3 <bound method Zutat.getmenge of <ALS.Zutat.Zutat object at 0x0050CDF0>>
3 <bound method Zutat.gettempo of <ALS.Zutat.Zutat object at 0x0050CDF0>>
Wo liegt mein Denkfehler? Wiso kriege ich ned die Werte zurück welche ich gesetzt habe?
Ich bin am verzweifeln, kann mir jemand n wink geben?
Vielen Dank im voraus !!
