TypeError

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Whatgewesen
User
Beiträge: 12
Registriert: Freitag 24. August 2018, 12:15

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
Sirius3
User
Beiträge: 18267
Registriert: Sonntag 21. Oktober 2012, 17:20

Ein Auto hat auch keine Türen. Warum besteht ein Auto aus Listen von Modellen, Fahrzeugen und PSen?
Whatgewesen
User
Beiträge: 12
Registriert: Freitag 24. August 2018, 12:15

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)? ^_^
Sirius3
User
Beiträge: 18267
Registriert: Sonntag 21. Oktober 2012, 17:20

Ein Auto hat keine Türen.
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@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)]
Whatgewesen
User
Beiträge: 12
Registriert: Freitag 24. August 2018, 12:15

Danke @snafu, und sorry an @Sirius3 ^^. Da stand ich wohl ein bisschen auf dem Schlauch mit deiner Antwort.
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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." ;-)
Antworten