Einführung
In diesem Projekt lernst du, wie du die versteckte Nachricht in einem Akrostichon entschlüsseln kannst. Akrostiche Gedichte sind eine Art von Gedichten, bei denen die ersten Buchstaben jeder Zeile ein Wort oder eine Phrase bilden. Deine Aufgabe ist es, eine Python-Funktion zu schreiben, die die ersten Wörter jeder Zeile extrahieren und zu einer Zeichenkette zusammenfügen kann, um die versteckte Nachricht zu enthüllen.
👀 Vorschau
## Beispiel
$ python3 acrostic_poetry.py
RainItItAnd
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die Problemstellung und die Anforderungen für das Projekt zur Entschlüsselung von Akrostichen verstehst
- Wie du die Funktion
acrostic_poetry_decryption(poem)implementierst, um die Nachricht in einem Akrostichon zu entschlüsseln - Wie du die Entschlüsselungsfunktion mit einem Beispiel-Eingabe testest
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Probleme, die Textmanipulation und Musterextraktion betreffen, zu verstehen und zu lösen
- Eine Python-Funktion zu schreiben, die versteckte Nachrichten in Akrostichen entschlüsseln kann
- Deinen Code zu testen und zu debuggen, um sicherzustellen, dass er richtig funktioniert
Das Problem verstehen
In diesem Schritt lernst du, wie du die Problemstellung und die Anforderungen für das Projekt zur Entschlüsselung von Akrostichen verstehst.
Das Ziel dieses Projekts ist es, eine Funktion acrostic_poetry_decryption(poem) zu schreiben, die einen String, der den Inhalt eines Gedichts repräsentiert, als Eingabe nimmt und die entschlüsselte Nachricht zurückgibt, indem sie die ersten Wörter jeder Zeile extrahiert und zusammenfügt.
Die Anforderungen für das Projekt sind:
- Mit Ausnahme der
re-Bibliothek darf keine andere Standardbibliothek oder Drittanbieterbibliothek verwendet werden. - Der
poem-Parameter der Funktion kann ein String sein, der leer sein,Noneoder irgendeinen anderen Wert annehmen kann. - Der Dateipfad, der Dateiname (
acrostic_poetry.py) oder der Funktionsname (acrostic_poetry_decryption(poem)) dürfen nicht geändert werden. - Wenn du den Code im Online-Environment debuggst, verwende den Befehl
python3 acrostic_poetry.py, um Python3 aufzurufen.
Die Entschlüsselungsfunktion implementieren
In diesem Schritt wirst du die Funktion acrostic_poetry_decryption(poem) implementieren, um die Nachricht in einem Akrostichon zu entschlüsseln.
Hier ist der Ausgangscode für die Datei acrostic_poetry.py:
import re
from typing import Optional
def acrostic_poetry_decryption(poem: str) -> Optional[str]:
"""
Entschlüssel die Nachricht in einem Akrostichon, indem du die ersten Wörter jeder Zeile extrahierst und miteinander verknüpfst.
"""
## Wenn der eingegebene Inhalt leer ist, gib `None` zurück
if not poem:
return None
## TODO: Implementiere die Entschlüsselungslogik
## 1. Teile das Gedicht in Zeilen auf, indem du das Trennzeichen ',' oder '.' verwendest
## 2. Extrahiere das erste Wort aus jeder Zeile
## 3. Verknüpfe die ersten Wörter miteinander, um den Entschlüsselungstext zu erhalten
## 4. Weise die resultierende Zeichenkette der Variable `decryption_text` zu
return decryption_text
So kannst du die Entschlüsselungsfunktion implementieren:
- Teile die Zeichenkette
poemin eine Liste von Zeilen auf, indem du diere.split()-Funktion mit dem regulären Ausdrucksmusterr"[,.]"verwendest. - Iteriere durch die Liste der Zeilen und extrahiere für jede Zeile das erste Wort, indem du die Zeile anhand von Leerzeichen aufspaltest und das erste Element nimmst.
- Verknüpfe alle ersten Wörter miteinander, um den Entschlüsselungstext zu erhalten.
- Weise den Entschlüsselungstext der Variable
decryption_textzu und gib ihn zurück.
Hier ist der abgeschlossene Code:
import re
from typing import Optional
def acrostic_poetry_decryption(poem: str) -> Optional[str]:
"""
Entschlüssel die Nachricht in einem Akrostichon, indem du die ersten Wörter jeder Zeile extrahierst und miteinander verknüpfst.
"""
## Wenn der eingegebene Inhalt leer ist, gib `None` zurück
if not poem:
return None
## Teile das Gedicht in Zeilen auf, indem du das Trennzeichen ',' oder '.' verwendest
lines = re.split(r"[,.]", poem)
## Extrahiere das erste Wort aus jeder Zeile
words = [line.strip().split(" ")[0] for line in lines]
## Verknüpfe die ersten Wörter miteinander, um den Entschlüsselungstext zu erhalten
decryption_text = "".join(words)
return decryption_text
Die Entschlüsselungsfunktion testen
In diesem Schritt wirst du die Funktion acrostic_poetry_decryption(poem) mit dem in der Herausforderung angegebenen Beispiel testen.
- Füge den folgenden Code am Ende der Datei
acrostic_poetry.pyhinzu:
if __name__ == "__main__":
string = "Rain is falling all around, It falls on field and tree. It rains on the umbrella here, And on the ships at sea."
print(acrostic_poetry_decryption(string))
- Speichere die Datei und führe im Terminal den folgenden Befehl aus:
python3 acrostic_poetry.py
Die Ausgabe sollte lauten:
RainItItAnd
Dies bestätigt, dass die Funktion acrostic_poetry_decryption(poem) wie erwartet funktioniert.
Herzlichen Glückwunsch! Du hast das Projekt zur Entschlüsselung von Akrostichen abgeschlossen. Wenn du Fragen hast oder weitere Hilfe benötigst, kannst du gerne fragen.
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.



