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()
undlen()
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 SucheInList
e, die eine Methode element
e_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.
- Erstelle eine Klasse
Person
mit den Attributenname
undalter
. - Schreibe einen Konstruktor (
__init__
), der die Attribute initialisiert. - 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.
- Erstelle eine leere Liste
personen
. - Füge mehrere
Person
-Objekte zur Liste hinzu. - 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.
- Erstelle die Klasse
Adressbuch
mit einem Attributkontakte
, das eine Liste vonPerson
-Objekten ist. - Schreibe eine Methode
person_hinzufuegen
, die eine Person zurkontakte
-Liste hinzufügt. - 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.
- Schreibe eine Methode
person_eingeben
, die den Benutzer nach Namen und Alter fragt und eine neue Person erstellt. - Füge die neue Person zur
kontakte
-Liste hinzu. - 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.
- Füge der Klasse
Person
ein Attributinfo
hinzu, das ein Dictionary ist. - Erweitere den Konstruktor, um zusätzliche Informationen wie Telefonnummer und Adresse zu speichern.
- Schreibe eine Methode
info_anzeigen
, die die Informationen der Person als Dictionary zurückgibt. - Iteriere über die
kontakte
-Liste inAdressbuch
und gebe die Informationen jeder Person als Dictionary aus.