Übungsaufgaben

Aufgabe: Bruch-Klasse erweitern

Vergegenwärtigen Sie sich die Randfälle der _ggT-Funktion und probieren Sie aus, wie sich der Konstruktor der Bruch-Klasse in diesen verhält. Erweitern Sie den Konstruktor gegebenenfalls, um bei eventuell auftretenden Fehlern eine auf Brüche zugeschnittene Fehlermeldung auszugeben.

Fügen Sie Methoden zum Addieren, Subtrahieren, Dividieren und Testen auf Gleichheit von Brüchen hinzu. Definieren Sie gegebenenfalls eigene Methoden, die zur Definition der Rechenoperationen hilfreich sind.

Aufgabe: Katzen und andere Tiere

Definieren Sie eine Klasse Animal zur Repräsentation von Tieren. Attribute der Klasse seien species, name, und creation_time.

Definieren Sie die Methoden __init__, __str__ und age, letztere soll das Alter berechnen.

Erzeugen Sie im Hauptprogramm 7 Katzen, die in einer Liste animals gespeichert werden und geben Sie mithilfe von print Name, Alter und Artzugehörigkeit der Tiere aus.

Bonusaufgabe: Klasse für Komplexe Zahlen definieren

Definieren Sie eine Klasse Komplex zur Darstellung Komplexer Zahlen und implementieren Sie Addition und Subtraktion (wenn Sie möchten auch Multiplikation und Division) als nicht mutierende Methoden. Implementieren Sie auch __str__- und __repr__-Methoden zur Anzeige komplexer Zahlen.