Python für Anfänger · Teil 11TutorialEinsteiger

Python

Python für Anfänger – Teil 11: Texte bearbeiten und Eingaben bereinigen

Bereinige Eingaben, suche in Texten und zerlege einfache Zeichenketten in einzelne Angaben.

Veröffentlicht am

3 Minuten Lesezeit

Voraussetzungen

Du kennst die Inhalte aus Teil 10 und arbeitest mit einem lokalen Python-3-Interpreter (ab Python 3.10), beispielsweise in Thonny.

Das lernst du in dieser Lektion

  • Strip, lower und upper nutzen.
  • Split und join unterscheiden.
  • Text mit Indizes und Slices lesen.

Eingaben sind selten perfekt

Wer pla eingibt, meint wahrscheinlich dasselbe Material wie mit PLA. Für einen zuverlässigen Vergleich bereinigen wir den Text:

eingabe = "  pla  "
material = eingabe.strip().upper()
print(material)

strip() entfernt Leerraum am Anfang und Ende, beispielsweise Leerzeichen und Zeilenumbrüche. Es entfernt nicht alle Leerzeichen innerhalb eines Textes. upper() wandelt Buchstaben in Großbuchstaben um; lower() in Kleinbuchstaben.

Strings sind unveränderlich. Die Methoden geben einen neuen Text zurück. eingabe.strip() allein verändert die Variable eingabe nicht. Du musst das Ergebnis verwenden oder zuweisen.

Texte untersuchen

dateiname = "  Messung_01.CSV  "
sauber = dateiname.strip().lower()
print(sauber.startswith("messung"))
print(sauber.endswith(".csv"))
print("01" in sauber)
print(len(sauber))

Die ersten drei Ergebnisse sind True. len() zählt die Zeichen. Die Prüfung einer Dateiendung sagt nur etwas über den Namen aus; sie bestätigt nicht den Inhalt einer Datei.

Zerlegen und zusammensetzen

zeile = "PLA;Blau;750"
teile = zeile.split(";")
print(teile[0])
print(" / ".join(teile))

split(";") liefert eine Liste mit drei Strings. join() verbindet Strings mit dem angegebenen Trenntext. Die Reihenfolge wirkt zunächst ungewöhnlich: Der Trenntext steht vor .join(...). Ein Versuch mit einer Liste aus Zahlen schlägt fehl; die Elemente müssen Strings sein.

Dieses einfache Zerlegen eignet sich für kontrollierte Übungstexte. Echte CSV-Dateien können Anführungszeichen und Trennzeichen innerhalb von Feldern enthalten. Dafür verwenden wir in Teil 16 das Modul csv.

Dezimalkomma unterstützen

eingabe = " 18,5 "
gewicht_g = float(eingabe.strip().replace(",", "."))
print(f"Gewicht: {gewicht_g:.1f} g")

replace() ersetzt hier das Komma durch einen Punkt. Das hilft bei einfachen Dezimalzahlen. Tausendertrennzeichen wie in 1.234,5 werden damit nicht korrekt behandelt. Wir fordern deshalb ausdrücklich Zahlen ohne Tausendertrennzeichen. Ungeeigneter Text verursacht weiterhin einen ValueError.

Zeichen und Ausschnitte

Bei text = "Filament" liefert text[0] den Buchstaben F und text[:4] den Text Fila. Auch bei Slices ist die Endgrenze ausgeschlossen. Bei einem leeren Text funktioniert text[0] nicht. Prüfe im Zweifel zuerst if text:.

Bewahre Originaltexte auf, wenn ihre Schreibweise wichtig ist. Eine Materialkennung darf vereinheitlicht werden; einen Projektnamen solltest du nicht automatisch in Großbuchstaben verwandeln.

Mitmach-Aufgabe

Bereinige den Text " petg;Schwarz;420,5 ". Zerlege ihn, wandle die Menge in eine Zahl um und gib „PETG / Schwarz: 420.5 g“ aus.

Versuche die Aufgabe zuerst selbst. Vergleiche danach deinen Ansatz mit der Musterlösung. Andere Lösungen sind möglich, wenn sie dieselben Anforderungen erfüllen.

Musterlösung

eingabe = "  petg;Schwarz;420,5  "
teile = eingabe.strip().split(";")
material = teile[0].strip().upper()
farbe = teile[1].strip()
rest_g = float(teile[2].strip().replace(",", "."))
print(f"{material} / {farbe}: {rest_g:.1f} g")

Ergebnis prüfen

Es erscheint PETG / Schwarz: 420.5 g. In dieser kontrollierten Aufgabe gibt es genau drei Felder.

Typische Stolperstellen

String-Methoden ändern den Originaltext nicht. strip() entfernt keinen beliebigen Inhalt in der Mitte. Prüfe bei unbekannten Daten vor dem Indexzugriff die Anzahl der Felder.

Was du jetzt kannst

  • Strip, lower und upper nutzen.
  • Split und join unterscheiden.
  • Text mit Indizes und Slices lesen.

Passendes Cheatsheet

Zum Nachschlagen: Cheatsheet 08 – Zeichenketten in Python. Dort findest du auch den vorhandenen PDF-Download.

Im nächsten Teil

In Teil 12 geht es um Eigene Funktionen und Rückgabewerte. Gliedere Berechnungen in wiederverwendbare Bausteine mit klaren Ein- und Ausgaben.

← Teil 10 · Kursübersicht · Weiter zu Teil 12 →