Hallo zusammen,
ich habe grad als Übung diesen Code geschrieben.
Allerdings kommt beim eingeben des neuen Preises dieser Fehler
AttributeError: 'Auto' object has no attribute 'setPreis'
In dem Buch, aus dem ich den Code habe, steht es allerdings (meiner Ansicht nach) genau so da.
Vielleicht findet ja jemand von euch den Fehler!
LG Tobi
class Auto:
def __init__(self,ma, mo, bj, pr):
self.__Marke = ma
self.__Modell = mo
self.__Baujahr = bj
self.__Preis = pr
def getMarke(self):
return self.__Marke
def getModell(self):
return self.__Modell
def getBaujahr(self):
return self.__Baujahr
def getPreis(self):
return self.__Preis
def setPreis(self, preis_neu):
if abs(self.__Preis - preis_neu) < self.__Preis * 0.05:
self.__Preis = preis_neu
else:
print("Die Abweichung von Preis ist sehr groß.")
bestaetigung = input("Soll",preis_neu,"als neuer Preis festgelegt werden? (ja/nein)")
if bestaetigung == "ja":
self.__Preis = preis_neu
auto1 = Auto("VW", "Golf", 2011, 5000)
auto2 = Auto("Audi", "A4", 2003, 13000)
auto3 = Auto("Porsche", "Panamera", 2021, 50000)
# Laut Debug ist der Fehler in der Zeile darunter
wert = eval(input("Geben Sie den neuen Preis ein: "))
auto1.setPreis(wert)
print ("Neuer Preis:", auto1.setPreis())