Einführung
In diesem Projekt lernst du, wie du die Caesar-Verschlüsselung implementierst, eine einfache und weit verbreitete Verschlüsselungstechnik. Die Caesar-Verschlüsselung verwendet eine Substitutionsmethode, um englische Zeichen in einer Nachricht durch das Zeichen N Positionen später oder früher in der Alphabetreihenfolge zu ersetzen.
👀 Vorschau
## Beispiel 1
text = "python"; encryption_text = "ravjqp"
## Beispiel 2
text = "pyThon"; encryption_text = "raVjqp"
## Beispiel 3
text = "Python31"; encryption_text = "Ravjqp31"
## Beispiel 4
text = None; encryption_text = None
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die Projektumgebung einrichtest und die erforderlichen Dateien erstellst
- Wie du die Caesar-Verschlüsselungsfunktion implementierst, um jedes englische Zeichen in einem String um 2 Positionen nach rechts zu verschieben
- Wie du verschiedene Arten von Eingaben behandelst, einschließlich englischer Zeichen, nicht-englischer Zeichen und Nullwerte
- Wie du die Caesar-Verschlüsselungsfunktion mit verschiedenen Eingabebeispielen testest
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Die Grundprinzipien der Caesar-Verschlüsselungstechnik zu verstehen
- Eine Caesar-Verschlüsselungsfunktion in Python zu implementieren, ohne auf jede Standard- oder Drittanbieterbibliothek zurückzugreifen
- Fähigkeiten im Umgang mit Zeichenkettenmanipulation, Zeichensatzkodierung und bedingter Logik zu entwickeln
- Deinen Code zu testen, um sicherzustellen, dass er den Projektanforderungen entspricht
Implementiere die Caesar-Verschlüsselung
In diesem Schritt wirst du die Caesar-Verschlüsselungsfunktion implementieren.
Öffne die Datei
caesar_cipher.py.Ändere die Funktion
caesar_encryption(text)so, dass die gewünschte Funktionalität erreicht wird:- Nehme einen String als Eingabe und verschiebe jedes englische Zeichen im String um 2 Positionen nach rechts.
- Konvertiere nur halbbreite englische Zeichen, lasse den Rest unverändert.
- Die Groß-/Kleinschreibung der Zeichen sollte unverändert bleiben, z. B. wird A zu C und b zu d umgewandelt.
Ersetze den Kommentar
"""TODO"""durch folgenden Code:
def caesar_encryption(text: str) -> str:
if text is None:
return None
encryption_text = ""
for char in text:
if char.isalpha() and char.isascii():
if char.islower():
encryption_text += chr((ord(char) - ord("a") + 2) % 26 + ord("a"))
else:
encryption_text += chr((ord(char) - ord("A") + 2) % 26 + ord("A"))
else:
encryption_text += char
return encryption_text
Dieser Code implementiert den Caesar-Verschlüsselungsalgorithmus, wie in den Projektanforderungen beschrieben.
Teste die Caesar-Verschlüsselung
In diesem Schritt wirst du die Caesar-Verschlüsselungsfunktion mit einigen Beispiel-Eingaben testen.
- Füge folgenden Code am Ende der Datei
caesar_cipher.pyhinzu:
if __name__ == "__main__":
test_input_text = input()
print(caesar_encryption(test_input_text))
- Speichere die Datei
caesar_cipher.py. - Öffne ein Terminal und navigiere zum Verzeichnis
/home/labex/project. - Führe das Skript
caesar_cipher.pymit dem folgenden Befehl aus:
python3 caesar_cipher.py
- Gib einige Test-Eingabetexte ein und beobachte die verschlüsselte Ausgabe.
Verifiziere die Anforderungen
In diesem Schritt wirst du überprüfen, ob deine Implementierung den Projektanforderungen entspricht.
Überprüfe die Projektanforderungen und sicherstelle, dass deine Funktion
caesar_encryption(text):- Einen String als Eingabe nimmt und jedes englische Zeichen im String um 2 Positionen nach rechts verschiebt.
- Nur halbbreite englische Zeichen umwandelt und den Rest unverändert lässt.
- Die Groß-/Kleinschreibung der Zeichen beibehält, z. B. wird A zu C und b zu d umgewandelt.
Teste deine Funktion mit den bereitgestellten Referenzbeispielen:
## Beispiel 1
text = "python"; encryption_text = "ravjqp"
## Beispiel 2
text = "pyThon"; encryption_text = "raVjqp"
## Beispiel 3
text = "Python31"; encryption_text = "Ravjqp31"
## Beispiel 4
text = None; encryption_text = None
- Stelle sicher, dass deine Funktion alle Testfälle richtig behandelt.
Herzlichen Glückwunsch! Du hast das Caesar-Verschlüsselungsprojekt abgeschlossen. Wenn du Fragen hast oder weitere Hilfe benötigst, zögere nicht, zu fragen.
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.



