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

Zeit: 30 Minuten

Aufgrund der erhöhten Anzahl an Studenten, die bei ihrer Promotion für den Doktortitel Textpassagen ohne Quellenangabe verwenden und somit indirekt als ihre geistigen Arbeiten ausgeben, beauftragen dich Plagiatsjäger damit eine Software zu entwickeln, die bestimmte Textpassagen oder Wörte in einem Text zu findet.

Die Plagiatsjäger sind spezialisiert auf Politiker und konnten bereits einige in hochrangigen Ämtern wie Franziska Giffey (SPD), Karl-Theodor zu Guttenberg (CSU) und Otto Carstens (CDU) überführen.

Schreibe eine Funktion „durchsuche_zeichenkette(text, suchmuster)“, die eine Zeichenkette beliebiger länge nach allen Vorkommen einer anderen Zeichenkette durchsucht. Dabei soll die Startposition dieser gefundenen Zeichenketten in einem Array zurückgegeben werden. Kann nichts gefunden werden, soll die Liste leer sein.

Aufruf:

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

Ausgabe:

[1, 29, 33]