Leetspeak-Generator

1337 5P34K (Leetspeak) bezeichnet das Ersetzen von Buchstaben durch ähnlich aussehende Ziffern oder Sonderzeichen. Ursprünglich als Mittel zur Verschleierung des echten Textes genutzt, gehört sie heute zur Netzkultur und hat teilweise Einflüsse in künstlerische Bereiche, wie z.B. der ASCII-Art.

Das Ziel des Projektes ist die Programmierung eines Leetspeak-Generators, der aus einem Eingabetext eine Ausgabe als Leetspeak-Text nach selbstgewählten Regeln erzeugt.

Informiere dich dafür zunächst über Leetspeak und die Möglichkeiten der Ersetzung von Buchstaben.

Stelle in deinem Hefter eine eigene Übersetzungstabelle für das deutsche Großbuchstaben-Alphabet (A-Z) nach Leetspeak auf.

Erstelle auf deinem Home-Verzeichnis (H:) ein neues Python-Programm mit dem Namen

1337-generator-NameVorname.py

und kopiere dir das Grundprogramm hinein:

# Importieren der GUI-Bibliothek tkinter (Toolkit Interface)
from tkinter import *

# Erstelle ein leeres Fenster mit Titel
fenster=Tk()
fenster.title("1337-Generator")
fenster.geometry('400x200')

# Füge Objekte zum Fenster hinzu
# Erstelle und Positioniere Beschriftung für Textfelder
label_eingabe = Label(fenster, text="Originaltext:")
label_ausgabe = Label(fenster, text="Leetspeak:")
label_eingabe.grid(row=0)
label_ausgabe.grid(row=1)
# Erstelle und Positioniere Textfelder zu Ein- und Ausgabe
eingabe = Text(fenster, height=3, width=30)
ausgabe = Text(fenster, height=3, width=30)
eingabe.grid(row=0, column=1)
ausgabe.grid(row=1, column=1)

# Funktion zur Ausführung der Programmlogik
def clicked():
    # Hole Inhalt aus Originaltext-Feld und speichere ihn
    original_text = eingabe.get("1.0",END)
    # Wandle alle Buchstaben in Großbuchstaben um
    original_text = original_text.upper()
    
    # TODO: Leetspeak-Wörterbuch erstellen und mit Inhalten füllen
    leetspeak = {}
    #...
    
    # TODO: Originaltext in Leet übersetzen
    leet_text = original_text
    
    #for ...
    
    # Gib den geänderten Text aus
    ausgabe.delete("1.0", END)
    ausgabe.insert(END, leet_text)

# Erstelle und positioniere Button
button = Button(fenster, text="Übersetze", command=clicked, width=25)
button.grid(row=2, column=1)

# Starte Benutzeroberfläche
fenster.mainloop()

Analysiere den Programmcode hinsichtlich des Aufbaus einer grafischen Benutzeroberfläche mit der Pythonbibliothek tkinter (Toolkit Interface).

Führe das Programm aus und teste die bereits umgesetzte Funktionalität.

Setze folgende Änderungen um:

  1. Personalisiere den Fenstertitel mit deinem Namen.
  2. Verschiebe den Übersetze-Button in die erste Zeile des Programmfensters.

Informiere dich über die Nutzung von dictionaries (Wörterbüchern) in Python in folgenden Videos und folgender Webseite:

Stelle den Programmcode für den Leetspeak-Generator, der mit deinem eigenen Wörterbuch von oben übersetzt, fertig. Die Bereiche, in denen noch Programmcode fehlt, sind mit TODO in den Kommentaren gekennzeichnet.

Eine gängige Methode um Zeichen in einer Zeichenkette (String) zu ersetzen ist die replace-Methode. Du findest eine Beschreibung und Hinweise zur Nutzung auf der verlinkten Webseite.