Klausurvorbereitung
Semester 2

Kursinhalte

Übungsaufgaben

Aufgabe 1: Listenverarbeitung in einer Klasse

Erstelle eine Klasse ListenVerarbeiter, die eine Liste als Attribut hat. Implementiere Methoden zum Hinzufügen von Elementen in die Liste und zum Entfernen von Elementen aus der Liste, basierend auf einer Bedingung, dass die Elemente größer als ein gegebenes Limit sind.

Tipps:

  • Achte darauf, wie die „List Comprehension“ verwendet wird, um Elemente zu filtern.
  • Die Methode element_hinzufuegen sollte flexibel genug sein, um jedes numerische Element hinzuzufügen.

Aufgabe 2: Durchschnittsberechnung in einer Klasse

Erstelle eine Klasse DurchschnittsRechner mit einer Methode, die den Durchschnitt der Zahlen in einer Liste berechnet und ausgibt. Füge eine Methode hinzu, die Zahlen zur Liste hinzufügt.

Tipps:

  • Verwende sum() und len() zur Berechnung des Durchschnitts. Stelle sicher, dass die Liste nicht leer ist, um Division durch Null zu vermeiden.

Aufgabe 3: Verwaltung eines Wörterbuchs

Implementiere eine Klasse WörterbuchManager, die ein Dictionary verwaltet. Diese Klasse sollte Methoden zum Hinzufügen von Paaren (Schlüssel, Wert) und zum Entfernen von Einträgen anhand eines bestimmten Kriteriums (z.B. Wert größer als ein Limit) enthalten.

Tipps:

  • Achte darauf, wie Schlüssel-Wert-Paare hinzugefügt und entfernt werden. Dies erfordert ein Verständnis von Dictionaries in Python.

Aufgabe 4: Suchen spezieller Elemente in einer Liste (*optional)

Erstelle eine Klasse SucheInListe, die eine Methode elemente_finden enthält, die alle Elemente zurückgibt, die bestimmte Kriterien erfüllen (z.B. alle geraden Zahlen).

Tipps:

  • Verstehe die Verwendung von Lambdafunktionen und wie sie als Argumente für Methoden verwendet werden können.

Aufgabe 5: Bearbeitung und Filterung von Listeninhalten

Erstelle eine Klasse InhaltsFilter, die eine Liste von Wörtern verwaltet und eine Methode wörter_filtern besitzt, die Wörter aus der Liste entfernt, die kürzer als eine gegebene Länge sind.

Tipps:

  • Beachte, wie die Länge jedes Wortes überprüft wird, um zu entscheiden, ob es in der Liste verbleibt. Nutze dabei die List Comprehension für effiziente Filterung.

Aufeinander aufbauende Aufgaben

Aufgabe 1: Eine einfache Klasse erstellen

Ziel: Erstelle eine einfache Klasse Person, die den Namen und das Alter einer Person speichert.

  1. Erstelle eine Klasse Person mit den Attributen name und alter.
  2. Schreibe einen Konstruktor (__init__), der die Attribute initialisiert.
  3. Erstelle eine Methode anzeigen, die den Namen und das Alter der Person ausgibt.

Aufgabe 2: Personen in einer Liste speichern

Ziel: Erweitere die Klasse Person und speichere mehrere Person-Objekte in einer Liste.

  1. Erstelle eine leere Liste personen.
  2. Füge mehrere Person-Objekte zur Liste hinzu.
  3. Schreibe eine Schleife, die über die Liste iteriert und die anzeigen-Methode für jede Person aufruft.

Aufgabe 3: Eine Klasse Adressbuch erstellen

Ziel: Erstelle eine Klasse Adressbuch, die eine Liste von Person-Objekten speichert und verwaltet.

  1. Erstelle die Klasse Adressbuch mit einem Attribut kontakte, das eine Liste von Person-Objekten ist.
  2. Schreibe eine Methode person_hinzufuegen, die eine Person zur kontakte-Liste hinzufügt.
  3. Schreibe eine Methode alle_anzeigen, die alle Personen im Adressbuch ausgibt.

Aufgabe 4: Eingaben von der Konsole einlesen

Ziel: Erweitere die Klasse Adressbuch, um Eingaben von der Konsole zu lesen und Personen hinzuzufügen.

  1. Schreibe eine Methode person_eingeben, die den Benutzer nach Namen und Alter fragt und eine neue Person erstellt.
  2. Füge die neue Person zur kontakte-Liste hinzu.
  3. Teste die Methode, indem du mehrere Personen über die Konsole hinzufügst und anschließend alle Personen anzeigst.

Aufgabe 5: Informationen in einem Dictionary speichern

Ziel: Erweitere die Klasse Person, um zusätzliche Informationen zu speichern und gebe diese Informationen in einem Dictionary zurück.

  1. Füge der Klasse Person ein Attribut info hinzu, das ein Dictionary ist.
  2. Erweitere den Konstruktor, um zusätzliche Informationen wie Telefonnummer und Adresse zu speichern.
  3. Schreibe eine Methode info_anzeigen, die die Informationen der Person als Dictionary zurückgibt.
  4. Iteriere über die kontakte-Liste in Adressbuch und gebe die Informationen jeder Person als Dictionary aus.