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
TypeError
-
- User
- Beiträge: 12
- Registriert: Freitag 24. August 2018, 12:15
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 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?
@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:
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)]
-
- 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.
Eigentlich hätte ich ja als Antwort auf meine Frage erwartet: "Ein Auto hat keine Türen."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.
