0%

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:

VariableGeforderter Wert
cleanedoriginal ohne umgebende Leerraumzeichen
character_countdie Länge von cleaned
first_characterdas erste Zeichen von cleaned
last_characterdas letzte Zeichen von cleaned
uppercaseeine Variante von cleaned in Großbuchstaben
lowercaseeine 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:

  • original den von input() zurückgegebenen Wert enthält;

  • cleaned aus .strip() entsteht;

  • die Länge und die per Index abgerufenen Zeichen aus cleaned stammen;

  • 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.

  1. Speichere die Eingabe in original und entferne umgebende Leerraumzeichen, um cleaned zu erstellen.

  2. Berechne character_count aus cleaned.

  3. Hole first_character und last_character aus cleaned.

  4. Erstelle Varianten in Groß- und Kleinbuchstaben als uppercase und lowercase.

  5. 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.