ankon Geschrieben 18. Dezember 2021 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
Whiz-zarD Geschrieben 18. Dezember 2021 Geschrieben 18. Dezember 2021 Und wo genau liegt jetzt nun dein Problem? Zitieren
ankon Geschrieben 19. Dezember 2021 Autor 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
_n4p_ Geschrieben 19. Dezember 2021 Geschrieben 19. Dezember 2021 was daran liegt, daß du die funktion ausgibst und nicht aufrufst um den rückgabewert auszugeben. Zitieren
Visar Geschrieben 20. Dezember 2021 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
ankon Geschrieben 20. Dezember 2021 Autor Geschrieben 20. Dezember 2021 so funktioniert es def __str__(self): return 'Rectangle({}, {}, {}, {})'.format(self.a, self.b, self.width, self.height) Zitieren
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.