ankon Geschrieben 18. Dezember 2021 Teilen Geschrieben 18. Dezember 2021 Hallo, ich löse Aufgabe (Programmiersprache Python): Erzeugen Sie eine Klasse beliebiger geometrischer Figure. Die Ausgabe der erzeugten Klasse soll die Attribute (als Argumente) der Figur zurückgeben. Jede Objekt (Figur) muss über Attribute verfügen, die von der ausgewählten Form abhängen. Bei einem Rechteck sind dies beispielsweise die Argumente x, y, width und height. Außerdem müssen Sie diese Attribute beim Erstellen eines Objekts der Klasse übergeben können. Erstellen Sie eine Methode, die die Attribute Ihrer Form als Zeichenfolge (str) zurückgibt. ------------------------ Verwenden Sie str für die Realisierung. Für ein "Rechteck"-Objekt mit den Attributwerten x = 5, y = 10, Breite = 50, Höhe = 100 sollte die Methode beispielsweise die Zeichenfolge Rectangle (5, 10, 50, 100) zurückgeben. Ich habe es versucht, die Code zu schreiben, aber meine jetzige Variante gibt die Zeichenfolge Rectangle (5, 10, 50, 100) nicht zurück. Was ich jetzt geschrieben habe: # Erzeugen Sie eine Klasse beliebiger geometrischer Figure. Die Ausgabe der erzeugten Klasse soll die Attribute (als Argumente) der Figur zurückgeben. # Jede Objekt (Figur) muss über Attribute verfügen, die von der ausgewählten Form abhängen. Bei einem Rechteck sind dies beispielsweise die Argumente x, y, width und height. class Rechtangle: def __init__(self, x, y, width, height): self.x = x self.y = y self.width = width self.height = height # Erzeugen Sie eine Methode, die die Attribute Ihrer Form als Zeichenfolge (str) zurückgibt. def atributs_as_string(self): return str(self.x, self.y, self.width, self.height) # Außerdem müssen Sie diese Attribute beim Erstellen eines Objekts der Klasse übergeben können. recht_1 = Rechtangle(5, 10, 50, 100) # wir erzeugen Objakt recht_1 print(recht_1.atributs_as_string) Ich bitte um Hilfe und Korrektur. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 18. Dezember 2021 Teilen Geschrieben 18. Dezember 2021 Und wo genau liegt jetzt nun dein Problem? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ankon Geschrieben 19. Dezember 2021 Autor Teilen Geschrieben 19. Dezember 2021 vor 14 Stunden schrieb Whiz-zarD: Und wo genau liegt jetzt nun dein Problem? Problem liegt darin: meine jetzige Code-Variante gibt (als str) die Zeichenfolge Rectangle (5, 10, 50, 100) nicht zurück. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 19. Dezember 2021 Teilen Geschrieben 19. Dezember 2021 was daran liegt, daß du die funktion ausgibst und nicht aufrufst um den rückgabewert auszugeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Visar Geschrieben 20. Dezember 2021 Teilen Geschrieben 20. Dezember 2021 (bearbeitet) Das ist aber nicht alles: str() nimmt nicht beliebig viele Parameter an. Ein Blick in die Klassendefinition hilft: https://docs.python.org/3/library/stdtypes.html#str Davon ab: Gewöhn dir bitte diesen Deutsch-Englisch-Mischmasch im Code ab. Bearbeitet 20. Dezember 2021 von Visar Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ankon Geschrieben 20. Dezember 2021 Autor Teilen Geschrieben 20. Dezember 2021 so funktioniert es def __str__(self): return 'Rectangle({}, {}, {}, {})'.format(self.a, self.b, self.width, self.height) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.