0%

Werken met tekst · eindproject

Eindproject: Project: Bouw een interactieve tekstonderzoeker

Je kunt een string nu zien als gegevens met structuur, in plaats van één ondeelbaar bericht. In dit project breng je het hoofdstuk samen in een interactief programma dat tekst onderzoekt.

Het programma vraagt om tekst die niet leeg is, verwijdert de witruimte aan de randen, onderzoekt verschillende eigenschappen en drukt een overzicht af.

Invoer

Stel één vraag en sla de teruggegeven string op in original:

original = input("Enter a non-empty phrase: ")

De tekst mag aan het begin of einde spaties bevatten. Bewaar het oorspronkelijke antwoord, zodat het overzicht kan laten zien wat er is ingevoerd.

Dit project vereist bewust minstens één teken dat geen witruimte is, zoals een letter, cijfer of leesteken. Een leeg antwoord controleren en afhandelen vraagt om beslissingen en lussen. Die komen in latere hoofdstukken.

Verwerking

Maak deze zes waarden op basis van original:

VariabeleVereiste waarde
cleanedoriginal zonder witruimte aan de randen
character_countde lengte van cleaned
first_characterhet eerste teken van cleaned
last_characterhet laatste teken van cleaned
uppercaseeen versie van cleaned in hoofdletters
lowercaseeen versie van cleaned in kleine letters

Gebruik de stringbewerkingen uit dit hoofdstuk. Typ geen resultaten die maar voor één specifieke tekst werken.

Uitvoer

Druk een overzicht van acht regels af in deze vorm:

TEXT INSPECTOR
Original: [  Python Land  ]
Cleaned: Python Land
Characters: 11
First character: P
Last character: d
Uppercase: PYTHON LAND
Lowercase: python land

De haken op de regel Original horen bij het overzicht. Ze maken de spaties aan de randen zichtbaar. Voeg geen haken toe aan de regel Cleaned.

Bouw het programma met tussencontroles

1. Verzamel en schoon op

Voer het programma uit met spaties rond een korte tekst. Druk original en cleaned tijdelijk tussen haken af, zodat je het verschil kunt zien.

2. Meet en gebruik indexen

Bereken het aantal tekens. Haal het eerste en laatste teken uit cleaned, niet uit de onbewerkte invoer.

3. Bewerk

Maak de strings in hoofdletters en kleine letters. Onthoud dat de methoden nieuwe waarden teruggeven. Ze veranderen cleaned niet.

4. Presenteer

Verwijder tijdelijke controles en druk met f-strings het volledige overzicht af.

Voordat je instuurt

Controleer of:

  • original de waarde bevat die input() teruggeeft;

  • cleaned afkomstig is van .strip();

  • de lengte en de via indexen opgehaalde tekens uit cleaned komen;

  • de versies in hoofdletters en kleine letters apart zijn opgeslagen;

  • het overzicht na de vraag de vereiste acht niet-lege regels bevat;

  • de regel Original zijn waarde tussen vierkante haken toont.

Als je abonnement Guided bevat, kun je Monty vragen:

Beoordeel mijn tekstonderzoeker in de volgorde invoer, verwerking, uitvoer. Controleer of elke afgeleide waarde uit de juiste string komt en wijs steeds één probleem aan.

Nadat het programma slaagt

Voer het programma uit met leestekens, hoofdletters en kleine letters door elkaar, of meerdere spaties tussen woorden. Kijk wat .strip() verandert en wat het laat staan.

Je hebt nu een precies model van strings als geordende, onveranderbare reeksen. Dat model helpt je om lijsten te begrijpen wanneer je hoofdstuk 6 bereikt. De verschillen tussen beide zijn daarbij net zo belangrijk.

Kijk ook wat je tekstonderzoeker nog niet kan. Het drukt voor elke geschikte tekst dezelfde acht soorten informatie af. Het kan geen extra bericht kiezen voor een lange tekst of een leeg antwoord afwijzen. In het volgende hoofdstuk leer je beslissingen waarmee een programma kiest welke instructies het uitvoert.

Opdracht

Bouw een interactieve tekstonderzoeker.

  1. Sla de invoer op in original en verwijder de witruimte aan de randen voor cleaned.

  2. Bereken character_count op basis van cleaned.

  3. Haal first_character en last_character uit cleaned.

  4. Maak de versies uppercase en lowercase.

  5. Druk het vereiste overzicht van acht regels af.

Gebruik de aangeleerde stringbewerkingen en druk het overzicht af met f-strings.

Voer tekst in met minstens één teken dat geen witruimte is. Witruimte aan de randen is toegestaan; een ongeschikt antwoord controleren en afhandelen komt in latere hoofdstukken.