Veröffentlicht 18. Dezember 20213 j 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.
19. Dezember 20213 j Autor 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.
19. Dezember 20213 j was daran liegt, daß du die funktion ausgibst und nicht aufrufst um den rückgabewert auszugeben.
20. Dezember 20213 j 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 20213 j von Visar
20. Dezember 20213 j Autor so funktioniert es def __str__(self): return 'Rectangle({}, {}, {}, {})'.format(self.a, self.b, self.width, self.height)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.