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.
Whiz-zarD Geschrieben 18. Dezember 2021 Geschrieben 18. Dezember 2021 Und wo genau liegt jetzt nun dein Problem?
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.
_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.
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
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)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden