Mit Text arbeiten · Abschlussprojekt
Abschlussprojekt: Projekt: Erstelle einen interaktiven Textinspektor
Du kannst einen String jetzt als strukturierte Daten behandeln statt als unteilbare Nachricht. Dieses Projekt verbindet die Inhalte des Kapitels in einem interaktiven Textinspektor.
Das Programm fragt nach einem nicht leeren Text, entfernt umgebende Leerraumzeichen, untersucht mehrere Eigenschaften und gibt einen Bericht aus.
Eingabe
Stelle eine Frage und speichere den zurückgegebenen String in original:
original = input("Enter a non-empty phrase: ")
Der Text darf am Anfang oder Ende Leerzeichen enthalten. Behalte die ursprüngliche Antwort bei, damit der Bericht zeigen kann, was eingegeben wurde.
Dieses Projekt verlangt bewusst mindestens ein Zeichen, das kein Leerraumzeichen ist, etwa einen Buchstaben, eine Ziffer oder ein Satzzeichen. Eine leere Antwort zu prüfen und darauf zu reagieren erfordert Entscheidungen und Schleifen. Das kommt in späteren Kapiteln.
Verarbeitung
Erstelle diese sechs Werte aus original:
| Variable | Geforderter Wert |
|---|---|
cleaned | original ohne umgebende Leerraumzeichen |
character_count | die Länge von cleaned |
first_character | das erste Zeichen von cleaned |
last_character | das letzte Zeichen von cleaned |
uppercase | eine Variante von cleaned in Großbuchstaben |
lowercase | eine Variante von cleaned in Kleinbuchstaben |
Verwende die String-Operationen aus diesem Kapitel. Tippe keine Ergebnisse ein, die nur für einen bestimmten Text funktionieren.
Ausgabe
Gib einen achtzeiligen Bericht in dieser Form aus:
TEXT INSPECTOR
Original: [ Python Land ]
Cleaned: Python Land
Characters: 11
First character: P
Last character: d
Uppercase: PYTHON LAND
Lowercase: python land
Die Klammern in der Zeile Original gehören zum Bericht. Sie machen umgebende Leerzeichen sichtbar. Füge in der Zeile Cleaned keine Klammern hinzu.
Baue das Programm mit Zwischenkontrollen auf
1. Erfassen und bereinigen
Führe das Programm mit Leerzeichen um einen kurzen Text aus. Gib original und cleaned vorübergehend in Klammern aus, damit du den Unterschied siehst.
2. Messen und Zeichen abrufen
Berechne die Zeichenanzahl. Hole das erste und letzte Zeichen aus cleaned, nicht aus der unbereinigten Eingabe.
3. Umwandeln
Erstelle die Strings in Groß- und Kleinbuchstaben. Denke daran, dass die Methoden neue Werte zurückgeben. Sie verändern cleaned nicht.
4. Darstellen
Entferne die vorübergehenden Kontrollen und gib den vollständigen Bericht mit f-Strings aus.
Vor der Abgabe
Prüfe, ob:
originalden voninput()zurückgegebenen Wert enthält;cleanedaus.strip()entsteht;die Länge und die per Index abgerufenen Zeichen aus
cleanedstammen;Groß- und Kleinschreibung separat gespeichert sind;
der Bericht nach der Eingabeaufforderung die geforderten acht nicht leeren Zeilen hat;
die Zeile Original ihren Wert in eckigen Klammern zeigt.
Wenn dein Tarif Guided enthält, kannst du Monty bitten:
Prüfe meinen Textinspektor in der Reihenfolge Eingabe, Verarbeitung, Ausgabe. Kontrolliere, ob jeder abgeleitete Wert aus dem richtigen String stammt, und weise mich jeweils auf ein Problem hin.
Nach bestandener Prüfung
Führe das Programm mit Satzzeichen, gemischter Groß- und Kleinschreibung oder mehreren Leerzeichen zwischen Wörtern aus. Beobachte, was .strip() verändert und was es unberührt lässt.
Du hast jetzt eine genaue Vorstellung von Strings als geordneten, unveränderbaren Zeichenfolgen. Dieses Modell erleichtert dir in Kapitel 6 das Verständnis von Listen. Die Unterschiede zwischen beiden werden ebenso wichtig sein.
Beachte, was dein Inspektor noch nicht kann. Er gibt für jeden geeigneten Text dieselben acht Arten von Informationen aus. Er kann keine zusätzliche Nachricht für einen langen Text auswählen oder eine leere Antwort zurückweisen. Im nächsten Kapitel lernst du Entscheidungen kennen, mit denen ein Programm auswählen kann, welche Anweisungen es ausführt.
Aufgabe
Erstelle einen interaktiven Textinspektor.
Speichere die Eingabe in
originalund entferne umgebende Leerraumzeichen, umcleanedzu erstellen.Berechne
character_countauscleaned.Hole
first_characterundlast_characterauscleaned.Erstelle Varianten in Groß- und Kleinbuchstaben als
uppercaseundlowercase.Gib den geforderten achtzeiligen Bericht aus.
Verwende die gelernten String-Operationen und gib den Bericht mit f-Strings aus.
Gib einen Text mit mindestens einem Zeichen ein, das kein Leerraumzeichen ist. Umgebende Leerraumzeichen sind erlaubt. Das Prüfen ungeeigneter Antworten und die Reaktion darauf kommen in späteren Kapiteln.