PCEP-30-02 1.0 – Computerprogrammierung und Grundlagen von Python (18 %)
PCEP-30-02 1.1 - Grundlegende Begriffe und Definitionen verstehen
PCEP-30-02 1.2 – Logik und Struktur von Python verstehen
PCEP-30-02 1.3 – Literale und Variablen in Code einführen und verschiedene Zahlensysteme nutzen
PCEP-30-02 1.4 – Operatoren und Datentypen passend zum Problem wählen
PCEP-30-02 1.5 – Eingabe-/Ausgabe-Operationen in der Konsole durchführen
PCEP-30-02 2.0 – Kontrollfluss – Bedingte Blöcke und Schleifen (29%)
PCEP-30-02 2.1 – Entscheidungen treffen und den Programmfluss mit „if“ steuern
PCEP-30-02 3.0 – Datenkollektionen – Tupel, Dictionaries, Listen und Strings (25%)
PCEP-30-02 3.1 – Daten mit Listen sammeln und verarbeiten
PCEP-30-02 3.3 – Daten mit Dictionaries sammeln und verarbeiten
PCEP-30-02 3.4 – Mit Strings arbeiten
PCEP-30-02 4.0 – Funktionen und Ausnahmen (28%)
PCEP-30-02 4.3 – Python Built-In Exceptions Hierarchie
PCEP-30-02 4.4 – Grundlagen der Fehlerbehandlung in Python

Python Übungsaufgabe: Plagiatssuche / Zeichenketten Suchfunktion (Musterlösung)

# Python-Code:
def durchsuche_zeichenkette(text, suchmuster):
    """
    Die Funktion durchsucht einen Text nach einem Muster und gibt die Indizes mit der Position zurück
    
    :param str text:        Der Text, der durchsucht werden soll
    :param str suchmuster:  Muster, nach dem gesucht wird
    
    :return:    Liste mit Indizes der Vorkommen
    :rtype:     list
    """
    try:
        # Wurde ein zu durchsuchender Text übergeben?
        if not text or type(text) is not str:
            raise Exception

        # Wurde ein Suchmuster übergeben?
        if not suchmuster or type(suchmuster) is not str:
            raise Exception

        # Die Liste, die mit dien Indizes zurückgegeben werden soll
        liste = []

        # Durchsuche d den Text nach Plagiaten
        letzter_index = 0
        for i in range(text.count(suchmuster)):
            letzter_index = text.index(suchmuster, letzter_index)
            liste.append(letzter_index)

            # Erhöhe den Wert um 1, damit beim nächsten Durchlauf nicht der gleiche Index verwendet wird.
            letzter_index += 1

        # Ausgabe der Liste
        return liste

    except:
        # Kann auch index-Fehler sein
        return []

# Beispielaufruf
print(durchsuche_zeichenkette('Die beste Plagiatssoftware, die Sie je finden werden!', 'ie'))