Einladendes E-Campus

Aufgabe

1.

Erstellen Sie eine Klasse Studi. Diese soll als Attribute vorname : str, nachname : str, matrikelnummer : int haben.

Die natürliche Ordnung der Studis ist Nachname, Vorname und dann Matrikelnummer. Implementieren Sie die entsprechende Special Member Function dementsprechend. Implementieren Sie außerdem __str__(self) -> str sodass Matrikelnummer und Vorname und Nachname ausgedruckt werden.

2.

Erstellen Sie eine Klasse Kurs, welche die Attribute name : str , teilnehmende : list[Studi] und tutoren : list[Studi] hat.

Implementieren Sie folgende Special Member Functions:

  • __len__(self) -> int # Geben Sie die Anzahl der Teilnehmenden zurück
  • __contains__(self, item : Studi) -> bool # Schauen Sie nach, ob ein Studi an dem Kurs teilnimmt oder dieses tutoriert
  • __eq__(self, other) -> bool # Schauen Sie, ob der Name gleich ist
  • __ne__(self, other) -> bool # Gegenteil von der Funktion darüber
  • __str__(self) -> str # Geben Sie den Namen des Moduls und die Tutoren aus

Und folgende Methoden:

  • add_student(self, student: Studi) # Fügt einen Studi als Teilnehmenden hinzu
  • add_tutor(self, tutor: Studi) # Fügt einen Studi als Tutor hinzu
  • get_Students(self) -> list[Studi] # Gibt die Studis sortiert zurück
  • get_tutors(self) -> list[Studi] # Gibt Tutoren sortiert zurück
3.

Testen Sie ihre Implementation, indem Sie einige wenige Studis erstellen und einige wenige Kurse.

Zum Beispiel den Python Vorkurs.

Tipp 1: Was sind nochmal Special Member Functions

Achtung Spoiler!