13  Prüfungsvorbereitung 2

Autor:in

Jacques Mock Schindler

Veröffentlichungsdatum

05.01.2026

Open In Colab

13.1 Lernziele

Ich erwarte, dass Sie in der Lage sind

  • eine Jupyter Arbeitsumgebung zu starten (auswendig);
  • Python Listen zu erstellen und zu verändern;
  • Werte aus Python Listen direkt oder mit Hilfe von for Schleifen zu verarbeiten;
  • Python Dictionaries zu erstellen und zu verändern;
  • Wert aus Python Dictionaries direkt oder mit Hilfe von for Schleifen zu verarbeiten sowie
  • rekursive Funktionen zu implementieren.

Die Inhalte der letzten Prüfung werden als Grundlagen vorausgesetzt. Die Prüfung findet mit Papier und Bleistift statt. Als Hilfsmittel dürfen Sie eine handschriftliche Zusammenfassung im Umfang einer Seite A4 mitbringen. Die Zusammenfassung darf alles ausser die Schritte zum Start einer Jupyter Arbeitsumgebung enthalten.

13.2 Listen

13.2.1 Listen erstellen

Das Fähnlein Fieselschweif besteht aus Donald Ducks Neffen Tick, Trick und Track. Erstellen Sie eine Liste fieselschweif mit den drei Mitgliedern.

# TODO: Liste erstellen

13.2.2 Listen bearbeiten

Ergänzen Sie die vorher erstellte Liste ‘fieselschweif’ um den Namen Dagobert.

# TODO: fieselschweif ergänzen

Dagobert gefällt es nicht im Fähnlein Fieselschweif. Entfernen Sie Ihn wieder und lassen Sie Ihren Code den Text Dagobert hat das Fähnlein Fieselschweif wieder verlassen. ausgeben. Dagobert soll dabei als Variabel quitter in den Code eingefügt werden.

# TODO: implementieren Sie die obige Vorgabe

13.2.3 Über Listen iterieren

Gegeben sei eine Liste numbers. Die Liste beinhaltet die natürlichen Zahlen von 1 bis 10 (numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]). Erstellen Sie mit Hilfe einer for schleife basierend auf der Liste numbers eine neue Liste triplet welche aus den Elementen der Dreierreihe des kleinen Einmaleins besteht.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# TODO: implementieren Sie die obige Vorgabe

13.2.4 Python Dictionary erstellen

Erstellen Sie ein Python Dictionary mk, welches die Geschäftsadresse von Jacques Mock Schindler enthält. Die ersten zwei Einträge erhalten Sie als Vorlage.

mk = {
    'name': 'Mock Schindler',
    'first_name': 'Jacques',
    # TODO: kompletieren Sie das Dictionary
}

13.2.5 Über ein Python Dictionary iterieren

Geben Sie den Inhalt des Dictionary mk mit Hilfe einer for Schleife aus. Dabei soll die Ausgabe jedes Eintrags auf einer neuen Zeile erfolgen.

# TODO: implementieren Sie obige Vorgabe

13.2.6 Rekursion

Ein Palindrom ist ein Wort, das in beide Richtungen gelesen werden kann. Ein Beispiel für ein Palindrom ist Sugus. Schreiben Sie eine rekursive Funktion palindrom_tester, welche testet, ob eine gegebene Zeichenfolge ein Palindrom ist.

Hinweis: Die einzelnen Zeichen eines Strings können wie die Elemente einer Liste mit Hilfe eines Index abgerufen werden. Das erste Zeichen eines Strings hat dabei den Index 0.

Damit Sie einfacher prüfen können, ob Ihre Funktion korrekt arbeitet, übergeben Sie ihr ausschliesslich Strings in Kleinbuchstaben.

# TODO: implementieren Sie die obige Vorgabe

13.3 Musterlösungen

13.3.1 Listen erstellen

Das Fähnlein Fieselschweif besteht aus Donald Ducks Neffen Tick, Trick und Track. Erstellen Sie eine Liste fieselschweif mit den drei Mitgliedern.

fieselschweif = ['Tick', 'Trick', 'Track']

13.3.2 Listen bearbeiten

Ergänzen Sie die vorher erstellte Liste ‘fieselschweif’ um den Namen Dagobert.

fieselschweif.append('Dagobert')

Dagobert gefällt es nicht im Fähnlein Fieselschweif. Entfernen Sie Ihn wieder und lassen Sie Ihren Code den Text Dagobert hat das Fähnlein Fieselschweif wieder verlassen. ausgeben. Dagobert soll dabei als Variabel quitter in den Code eingefügt werden.

quitter = fieselschweif.pop()
print(f'{quitter} hat das Fähnlein Fieslschweif wieder verlassen.')

13.3.3 Über Listen iterieren

Gegeben sei eine Liste numbers. Die Liste beinhaltet die natürlichen Zahlen von 1 bis 10 (numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]). Erstellen Sie mit Hilfe einer for schleife basierend auf der Liste numbers eine neue Liste triplet welche aus den Elementen der Dreierreihe des kleinen Einmaleins besteht.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

triplet = []

for number in numbers:
    triplet.append(number * 3)

13.3.4 Python Dictionary erstellen

Erstellen Sie ein Python Dictionary mk, welches die Geschäftsadresse von Jacques Mock Schindler enthält. Die ersten zwei Einträge erhalten Sie als Vorlage.

mk = {
    'name': 'Mock Schindler',
    'first_name': 'Jacques',
    'street': 'Rosenstrasse 1',
    'postcode': 8400,
    'town': 'Winterthur',
}

13.3.5 Über ein Python Dictionary iterieren

Geben Sie den Inhalt des Dictionary mk mit Hilfe einer for Schleife aus. Dabei soll die Ausgabe jedes Eintrags auf einer neuen Zeile erfolgen.

for key, value in mk.items():
    print(f'{key}: {value}')

13.3.6 Rekursion

Ein Palindrom ist ein Wort, das in beide Richtungen gelesen werden kann. Ein Beispiel für ein Palindrom ist Sugus. Schreiben Sie eine rekursive Funktion palindrom_tester, welche testet, ob eine gegebene Zeichenfolge ein Palindrom ist.

Hinweis: Die einzelnen Zeichen eines Strings können wie die Elemente einer Liste mit Hilfe eines Index abgerufen werden. Das erste Zeichen eines Strings hat dabei den Index 0.

Damit Sie einfacher prüfen können, ob Ihre Funktion korrekt arbeitet, übergeben Sie ihr ausschliesslich Strings in Kleinbuchstaben.

def palindrom_tester(text):
    """
    Prüft rekursiv, ob ein String ein Palindrom ist 
    (vorwärts und rückwärts gelesen gleich).
    Beispiele: "Lagerregal", "Anna", "Reittier"
    """
    # Vorverarbeitung: Kleinbuchstaben für einfacheren Vergleich
    # (für den Fall, dass Sie sich nicht an den Tipp gehalten haben)
    text = text.lower()
    
    # Rekursionsanker 1: Leerer String oder Einzelbuchstabe
    # ist immer ein Palindrom.
    if len(text) <= 1:
        return True
    
    # Rekursionsanker 2: Wenn erster und letzter Buchstabe 
    # nicht übereinstimmen,
    # kann es kein Palindrom sein. Abbruch mit False.
    if text[0] != text[-1]:
        return False
    
    # Rekursionsschritt:
    # Wenn die Ränder passen, prüfe den Teilstring ohne den
    # ersten und letzten Buchstaben.
    return palindrom_tester(text[1:-1])