it-praxisportal/lehrpfad_1_grundlagen/08_textverarbeitung_und_strings
2026-08-29 15:07:16 +02:00
..
aufgabe.py Restrukturiere Verzeichnisstruktur in 3 saubere Lehrpfad-Ordner (lehrpfad_1_grundlagen, lehrpfad_2_oop_einstieg, lehrpfad_3_fortgeschrittenes_oop) 2026-08-29 15:07:16 +02:00
index.html Restrukturiere Verzeichnisstruktur in 3 saubere Lehrpfad-Ordner (lehrpfad_1_grundlagen, lehrpfad_2_oop_einstieg, lehrpfad_3_fortgeschrittenes_oop) 2026-08-29 15:07:16 +02:00
musterloesung.py Restrukturiere Verzeichnisstruktur in 3 saubere Lehrpfad-Ordner (lehrpfad_1_grundlagen, lehrpfad_2_oop_einstieg, lehrpfad_3_fortgeschrittenes_oop) 2026-08-29 15:07:16 +02:00
README.md Restrukturiere Verzeichnisstruktur in 3 saubere Lehrpfad-Ordner (lehrpfad_1_grundlagen, lehrpfad_2_oop_einstieg, lehrpfad_3_fortgeschrittenes_oop) 2026-08-29 15:07:16 +02:00
test_aufgabe.py Restrukturiere Verzeichnisstruktur in 3 saubere Lehrpfad-Ordner (lehrpfad_1_grundlagen, lehrpfad_2_oop_einstieg, lehrpfad_3_fortgeschrittenes_oop) 2026-08-29 15:07:16 +02:00

Kapitel G08: Textverarbeitung & Strings in Python 🔤✨

Willkommen im Kapitel Textverarbeitung und Strings! Strings (Zeichenketten) gehören zu den vielseitigsten Datentypen in Python. In diesem Kapitel lernst du alle wichtigen String-Methoden zur Bereinigung, Suche, Zerlegung und Formatierung kennen.


🏛️ 1. Die Stempel-Analogie: Strings sind unveränderlich (immutable)!

Ein grundlegendes Konzept in Python: Strings können nach ihrer Erstellung nicht mehr verändert werden!

name = "python"
# ❌ Das funktioniert NICHT und wirft einen TypeError:
# name[0] = "P"

# ✅ Stattdessen erzeugt jede String-Methode einen NEUEN String:
name = name.capitalize()  # Erzeugt "Python" und weist es neu zu

🖨️ Die Stempel-Analogie: Stell dir einen String wie gedruckten Text auf Papier vor. Du kannst die Buchstaben auf dem Papier nicht wegradieren. Jede String-Methode druckt stattdessen ein frisches neues Blatt Papier mit dem geänderten Text aus!


🧰 2. Das große String-Methoden Cheat-Sheet

Python stellt eine Fülle praktischer Methoden für Strings bereit:

A. Groß- & Kleinschreibung

text = "hallo welt"
print(text.upper())       # -> "HALLO WELT" (alles GROSS)
print(text.lower())       # -> "hallo welt" (alles klein)
print(text.capitalize())  # -> "Hallo welt" (nur erstes Zeichen groß)
print(text.title())       # -> "Hallo Welt" (jedes Wort groß)

B. Leerzeichen & Whitespace entfernen

eingabe = "   max_mustermann   \n"
print(eingabe.strip())    # -> "max_mustermann" (vorne & hinten bereinigt)
print(eingabe.lstrip())   # -> "max_mustermann   \n" (nur links)
print(eingabe.rstrip())   # -> "   max_mustermann" (nur rechts)

C. Suchen, Zählen & Ersetzen

satz = "Python ist super und Python macht Spaß"

# Ersetzen:
print(satz.replace("Python", "Coding"))
# -> "Coding ist super und Coding macht Spaß"

# Vorkommen zählen:
print(satz.count("Python"))  # -> 2

# Position finden (-1 wenn nicht gefunden):
print(satz.find("super"))    # -> 11

# Anfang & Ende prüfen (liefert True / False):
print(satz.startswith("Python"))  # -> True
print(satz.endswith("Spaß"))      # -> True

D. Zerlegen (.split) & Zusammenfügen (.join)

# 1. An Trennzeichen in eine Liste zerlegen:
daten = "Max;Mustermann;18;Informatik"
teile = daten.split(";")
print(teile)  # -> ["Max", "Mustermann", "18", "Informatik"]

# 2. Ohne Parameter zerlegt .split() an beliebigen Leerzeichen:
woerter = "   Python   macht   Spaß!   ".split()
print(woerter)  # -> ["Python", "macht", "Spaß!"]

# 3. Eine Liste mit einem Trennzeichen zu einem String zusammenfügen:
zutaten = ["Mehl", "Zucker", "Eier", "Milch"]
kuchen = ", ".join(zutaten)
print(kuchen)  # -> "Mehl, Zucker, Eier, Milch"

✂️ 3. Strings sind Sequenzen (Index & Slicing)

Genau wie Listen kannst du auch auf einzelne Zeichen in Strings über deren Index und Slicing zugreifen:

wort = "Lagerregal"

print(wort[0])     # -> "L" (Erster Buchstabe)
print(wort[-1])    # -> "l" (Letzter Buchstabe)
print(wort[-4:])   # -> "egal" (Die letzten 4 Buchstaben)
print(wort[::-1])  # -> "lagerregaL" (String umkehren!)

🧪 4. Praxisbeispiel: CSV-Daten bereinigen & parsen

csv_zeile = "  anna.meier@schule.at ; 1050 ; Wien ; 4A  "

# 1. Zeile säubern und in Spalten zerlegen:
spalten = [feld.strip() for feld in csv_zeile.split(";")]
email, plz, stadt, klasse = spalten

print(f"E-Mail: {email.lower()}")
print(f"Standort: {plz} {stadt.title()}")
print(f"Klasse: {klasse}")

🎯 Deine Aufgaben in aufgabe.py

Öffne aufgabe.py und implementiere die 5 Funktionen:

  1. ist_palindrom(text): Prüft, ob ein Text vorwärts wie rückwärts gleich ist (ignoriert Groß/Klein und Leerzeichen).
  2. zaehle_vokale(text): Zählt alle Vokale (a, e, i, o, u, ä, ö, ü) im Text.
  3. bereinige_benutzernamen(name): Entfernt Rand-Leerzeichen, konvertiert zu Kleinbuchstaben und ersetzt innere Leerzeichen durch _.
  4. woerter_zaehlen(text): Nutzt .split(), um die Anzahl der Wörter zu ermitteln.
  5. maskiere_kreditkarte(nummer): Ersetzt alle Zeichen außer den letzten 4 durch *.

Testen deiner Lösung:

python3 test_aufgabe.py