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: Einfache Textverschlüsselung

Du bist beim Militär als Chiffrierer eingesetzt. Das heißt, du verschlüsselst Informationen so, dass diese nicht von anderen verstanden werden können (Geheimtexte). Nur wer genau weiß, wie die Verschlüsselung funktioniert, kann den Geheimtext entziffern.

Das Militär beauftragt dich eine einfache Software zu entwickeln, um ihre Befehle über E-Mail zusätzlich zu verschlüsseln. Du entscheidest dich für einen simplen Mechanismus.

Schreibe eine Funktion „encode(klartext, n=1)“, die als ersten Parameter den zu verschlüsselnden Text und als zweiten optionalen Parameter die Anzahl der Durchgänge angibt. Bis zur Auslieferung der Software, muss für die Einschätzung der Kommandeure die Ausgabe klar sein, damit über die Einführung des Algorithmus entschieden werden kann.

Der Algorithmus sieht wie folgt aus:

  • Die Zeichenkette „klartext“ wird in Großbuchstaben umgewandelt
  • Hinter jedes Zeichen werden „n“ zufällige Großbuchstaben eingefügt

Führe anschließend folgenden Code aus:

# Python-Code
# Einfache Verschlüsselung
encode("Der erste Testlauf!")

# Starke Verschlüsselung
encode("DEV", 9)

# Ungültige Verschlüsselung
encode('Beispielfehler', -10)

Beispielausgabe:

Folgender Text wird verschlüsselt:  Der erste Testlauf!
Anzahl der Zufallszeichen:  1
Verschlüsselter Klartext:  DGEURK QEWRXSPTREU ETUEESOTULZATUSFZ!J

Folgender Text wird verschlüsselt:  DEV
Anzahl der Zufallszeichen:  9
Verschlüsselter Klartext:  DRURGFJFDAEANFCZCJTKVYSZXUXVFL

Der Parameter „n“ muss eine positive, ganze Zahl sein!

Das darfst du verwenden:

  • random-Modul
  • string-Modul
  • range
  • len
  • upper