Programming lesson
Symmetrische Baumstrukturen in Python: Textverarbeitung für Einsteiger
Lerne, wie du mit Python ein symmetrisches Blattmuster ausgibst – ein typisches COMP1001-Projekt, das Schleifen, Zeichenketten und Benutzereingaben kombiniert. Inklusive aktueller Beispiele aus Gaming und KI.
Symmetrische Bäume in Python: Mehr als nur Text
In der Programmierung begegnen uns immer wieder Aufgaben, die auf den ersten Blick einfach wirken, aber tiefere Konzepte verbergen. Eine solche Aufgabe aus dem Modul COMP1001 ist das Erzeugen eines symmetrischen Baums aus Textzeichen. Du wirst nach einem Symbol und einer Startposition gefragt, und der Baum fächert sich symmetrisch auf, bis die linke Seite den linken Rand erreicht. Klingt nach einer simplen Schleife? Ist es auch – aber dahinter stecken wichtige Grundlagen der Textverarbeitung, die du in vielen Bereichen wiederfindest: von der Darstellung von Spielfeldern in Gaming bis hin zur Visualisierung von Daten in KI-Modellen.
Warum symmetrische Muster?
Stell dir vor, du entwickelst ein kleines Spiel wie Tetris oder eine KI, die ChatGPT-ähnliche Ausgaben formatiert. Oder du arbeitest an einer App, die Benutzereingaben in hübsche Diagramme verwandelt. Überall dort musst du Zeichenketten manipulieren und in bestimmten Mustern ausgeben. Die COMP1001-Aufgabe trainiert genau das: den Umgang mit input(), Schleifen und String-Operationen. Und das Beste: Du kannst das Gelernte sofort auf aktuelle Trends anwenden.
Die Aufgabenstellung verstehen
Der Benutzer gibt ein Symbol (z.B. *) und eine positive Zahl (z.B. 10) ein. Die Zahl gibt die Position des Symbols in der ersten Zeile an (von links gezählt). Dann wird Zeile für Zeile ein symmetrischer Baum ausgegeben: Jede neue Zeile hat zwei Symbole mehr als die vorherige – eines links und eines rechts. Das geht so lange, bis die linke Seite den Rand erreicht (Position 1). Das Ergebnis sieht aus wie ein auf dem Kopf stehender Weihnachtsbaum oder ein Fächer.
Hier ein Beispiel mit * und Startposition 10:
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************Beachte: Die erste Zeile hat genau ein Symbol an Position 10. Die zweite Zeile hat drei Symbole an den Positionen 9, 10, 11. Und so weiter.
Der Algorithmus Schritt für Schritt
Um das Programm zu schreiben, musst du folgende Schritte umsetzen:
- Eingabe abfragen:
symbol = input(...)undposition = int(input(...)) - Startwerte festlegen:
left = position(Startposition des linken Symbols),right = position(Startposition des rechten Symbols – in der ersten Zeile sind beide gleich) - Schleife: Solange
left >= 1:- Erzeuge einen String mit
left - 1Leerzeichen, dann die Symbole vonleftbisright(Anzahl:right - left + 1) - Gib den String aus
- Verringere
leftum 1, erhöherightum 1
- Erzeuge einen String mit
Das ist der Kern. Aber wie setzt man das in Python um? Ganz einfach mit einer while-Schleife und String-Multiplikation.
Python-Code: Die elegante Lösung
symbol = input("Bitte geben Sie ein Symbol ein: ")
position = int(input("Bitte geben Sie eine positive Position ein: "))
left = position
right = position
while left >= 1:
# Anzahl der Symbole in dieser Zeile
count = right - left + 1
# Zeile zusammensetzen: Leerzeichen + Symbole
line = ' ' * (left - 1) + symbol * count
print(line)
left -= 1
right += 1Dieser Code ist kurz, aber mächtig. Er zeigt, wie man mit String-Operationen und Schleifen komplexe Muster erzeugt. Genau solche Techniken brauchst du, wenn du zum Beispiel in einer Finanz-App Balkendiagramme zeichnest oder in einem KI-Tutorial die Ausgabe formatierst.
Trend-Beispiel: Gaming und symmetrische Muster
Stell dir vor, du entwickelst ein Spiel wie Among Us oder ein Battle-Royale. Die Karte wird oft als Raster dargestellt. Mit dem gleichen Prinzip könntest du eine symmetrische Minimap zeichnen. Oder du bist ein Influencer und erstellst ein Viral-Video über Programmierung – solche visuellen Beispiele kommen gut an.
Aktuell (Juni 2026) gibt es einen Hype um KI-generierte Kunst. Viele Apps wie Midjourney oder DALL-E verwenden ähnliche Algorithmen, um Muster zu erkennen. Wenn du verstehst, wie man Muster programmiert, hast du einen Vorteil in der KI-Entwicklung.
Häufige Fehler vermeiden
- Off-by-one-Fehler: Achte darauf, dass die erste Zeile genau ein Symbol hat. In unserem Code:
count = right - left + 1ergibt 1, wenn left==right. - Leerzeichen zählen:
left - 1Leerzeichen vor den Symbolen – wenn left=10, dann 9 Leerzeichen, das Symbol an Position 10. - Endlosschleife: Vergiss nicht,
leftundrightzu aktualisieren, sonst läuft die Schleife ewig.
Erweiterungen für Fortgeschrittene
Wenn du die Aufgabe gelöst hast, kannst du sie erweitern:
- Frage nach der Höhe des Baums (statt bis zum Rand).
- Erzeuge einen hohlen Baum (nur Umrisse).
- Gib den Baum farbig aus (mit ANSI-Codes).
- Integriere das Ganze in eine GUI-App mit Tkinter.
Fazit
Die COMP1001-Aufgabe „More Text Processing“ ist ein perfektes Beispiel, um grundlegende Programmierkonzepte zu üben. Du lernst, wie man Benutzereingaben verarbeitet, Schleifen steuert und Zeichenketten manipuliert. Diese Fähigkeiten sind nicht nur für die Uni wichtig, sondern auch für Karrieren in der Softwareentwicklung, Datenwissenschaft oder KI. Also nimm dir die Zeit, den Code zu verstehen und zu experimentieren. Viel Erfolg!