Das Geheimnis des Caesars

Aufgabe

1.

Implementieren Sie die Cäsar-Verschlüsselung1. Bei einer Verschlüsselung wird ein Klartext in Kleinbuchstaben (z.B. “caesar”) auf einen Geheimtext abgebildet. Der Klartext wird immer in Kleinbuchstaben und der Geheimtext in Großbuchstaben dargestellt. Bei der Cäsar-Verschlüsselung wird jeder Buchstabe zyklisch um 3 Stellen nach rechts verschoben: a → D. Beispiel:

 Input: caesar-Verschluesselung("caesar")
Output: "FDHVDU"
Achtung:

Beachten Sie, dass die Verschlüsselung zyklisch ist, dh. dass zum Beispiel z zu C verschlüsselt wird.

2.

Erweitern Sie Ihre Funktion, sodass der Text um eine beliebige Anzahl an Stellen verschoben wird.

Bonus:

Implementieren Sie ebenfalls eine Entschlüsselungsfunktion. Beachten Sie, dass der Klartext in Kleinbuchstaben dargestellt wird.

Tipp 1: Wie kann ich mit Buchstaben rechnen?

Achtung Spoiler!

Mit ord() wandeln Sie einen Char in einen Integer um. Mit chr() wandeln Sie einen Integer in einen Char um. Mehr Infos: https://www.rapidtables.com/code/text/ascii-table.html

Tipp 2: Wie behalte ich Sonderzeichen und Co?

Achtung Spoiler!

Sie brauchen nur Buchstaben verschieben:

if buchstabeAlsZahl in Range(ascii_wert_von_a, wert_von_zeichen_über_z):
  #Programmcode

Tipp 3: Wie rechne ich Buchstaben um?

Achtung Spoiler!

Benutz Modulo, damit die Chiffre zyklisch ist

(verschobene_ascii_wert-asciiWertvona) % 26+ascii_wert_von_a