Seite 1 von 1

TypeError

Verfasst: Donnerstag 30. August 2018, 21:07
von Whatgewesen
Hallo zusammen,

hier mein Code. Wieso wird immer ausgegeben TypeError: __init__() takes 4 positional arguments but 5 were given

class Auto:

def __init__ (self, automarke_liste, automodell_liste, autops_liste):
self.marke = automarke_liste
self.modell = automodell_liste
self.ps = autops_liste

def print_funktion(self):
print("\n--------")
print("Die Marke des Fahrzeugs: " + self.marke)
print("Das Modell des Fahrzeugs: " + self.modell)
print("Die PS-Anzahl des Fahrzeugs: " + self.ps)
print("--------\n")

class Türer(Auto):

def __init__(self, marke, modell, ps, türanzahl):
super().__init__(marke, modell, ps)
self.türanzahl = türanzahl

def print_funktion(self):
print("\n--------")
print("Die Marke des Fahrzeugs: " + self.marke)
print("Das Modell des Fahrzeugs: " + self.modell)
print("Die PS-Anzahl des Fahrzeugs: " + self.ps)
print("Die Anzahl der Türen des Fahrzeugs: " + self.türanzahl)
print("--------\n")


def main():
liste_fahrzeuge = ["BMW", "Mercedes", "Audi", "Porsche" ]
liste_modelle = ["1er", "A-Klasse", "A1", "Macan"]
liste_ps = ["235", "176", "125", "365"]
liste_türen = ["5", "3", "3", "5"]


for i in range (len(liste_fahrzeuge)):
mein_auto = Auto(liste_fahrzeuge, liste_modelle, liste_ps, liste_türen)
mein_auto.print_funktion()

if __name__ == "__main__":
main()

Und ja, falls ich wieder korregiert werden sollte, ich weiß, dass der Code sinnlos ist.

Danke und beste Grüße

Re: TypeError

Verfasst: Donnerstag 30. August 2018, 21:19
von Sirius3
Ein Auto hat auch keine Türen. Warum besteht ein Auto aus Listen von Modellen, Fahrzeugen und PSen?

Re: TypeError

Verfasst: Donnerstag 30. August 2018, 21:26
von Whatgewesen
Sirius3 hat geschrieben: Donnerstag 30. August 2018, 21:19 Ein Auto hat auch keine Türen. Warum besteht ein Auto aus Listen von Modellen, Fahrzeugen und PSen?
Wie gesagt, ich weiß, dass es ein sinnloser Code ist. Kannst du mir aber nicht einfach eine Antwort bzw. einen Lösungshinweis geben, dass ich mein Problem lösen kann, oder antwortest du nur ohne Inhalt bzw. nie darauf, was vom entsprechenden User gefragt wurde (Referenz: 24.08.2018)? ^_^

Re: TypeError

Verfasst: Donnerstag 30. August 2018, 22:03
von Sirius3
Ein Auto hat keine Türen.

Re: TypeError

Verfasst: Donnerstag 30. August 2018, 22:15
von snafu
@Whatgewesen:
Die Hilfestellung ist schon sehr genau, dringt aber offenbar nicht zu dir durch. Schau dir mal genauer an, wie du die Signatur von Auto() definiert hast und wie du es in main() aufrufst. Fällt dir was auf?

Warum ein Auto() diese Listen bekommt, erschließt sich mir auch nicht wirklich. Eigentlich macht man das genau umgekehrt. Ganz grob:

Code: Alles auswählen

modelle = [Auto(farbe='rot', ps=90, anzahl_tueren=3), Auto(farbe='silber', ps=115, anzahl_tueren=5)]

Re: TypeError

Verfasst: Freitag 31. August 2018, 16:05
von Whatgewesen
Danke @snafu, und sorry an @Sirius3 ^^. Da stand ich wohl ein bisschen auf dem Schlauch mit deiner Antwort.

Re: TypeError

Verfasst: Freitag 31. August 2018, 17:08
von snafu
Whatgewesen hat geschrieben: Freitag 31. August 2018, 16:05 Danke @snafu, und sorry an @Sirius3 ^^. Da stand ich wohl ein bisschen auf dem Schlauch mit deiner Antwort.
Eigentlich hätte ich ja als Antwort auf meine Frage erwartet: "Ein Auto hat keine Türen." ;-)