← Python/Tekst begrijpen en verwerken
Les 4 van 8
MODULE 05 · 04◷ 28 min

Kies de weergave van tekst en getallen

Na deze les kun je
  • Veldbreedte en precisie in een f-string gebruiken
  • Voorloopnullen en uitlijning kiezen
  • Een verhouding als percentage weergeven

Een overzicht wordt duidelijker wanneer nummers herkenbaar zijn en metingen evenveel decimalen tonen. Je wilt daarvoor niet de oorspronkelijke waarden veranderen. Je gebruikt de f-strings die je al kent om hun weergave te kiezen.

Een afspraak achter de dubbele punt

In een f-string kan achter de uitdrukking een formaatspecificatie staan. Bij f"{distance:.1f}" bepaalt de tekst na de dubbele punt hoe de waarde verschijnt. De punt met een één kiest één cijfer na de decimale punt; de f vraagt een vaste decimale weergave.

De uitkomst is een string. De oorspronkelijke variabele blijft dezelfde waarde bevatten, zodat je er later nog mee kunt rekenen. Afronden voor de weergave is dus iets anders dan een nieuwe meetwaarde opslaan.

Breedte, uitlijning en opvulling

Een veldbreedte geeft een minimumaantal posities voor de weergave. Bij f"{name:>10}" wordt korte tekst rechts uitgelijnd met spaties aan de linkerkant. Het teken < kiest juist uitlijning aan de linkerkant.

Langere tekst wordt door een veldbreedte niet afgeknipt. Is een naam elf posities lang en vraag je om acht, dan blijven die elf posities staan. Wil je bewust tekst inkorten, gebruik dan een afzonderlijke slice en bedenk welke informatie je mag verliezen.

Een geheel getal kun je met voorloopnullen tonen. De specificatie 03d maakt bijvoorbeeld drie posities voor een decimaal geheel getal, met nullen ervoor als het korter is. Ook hier is de breedte een minimum: een groter nummer blijft volledig zichtbaar.

Voorspel de spaties en cijfers in dit losse voorbeeld. De verticale streep maakt zichtbaar waar de opgevulde naam eindigt.

Een tocht netjes weergeven
name = "Kano"
distance = 6.76
share = 0.25
counter = 9
print(f"{name:>10}|")
print(f"{distance:.1f} km")
print(f"{share:.0%}")
print(f"KAART-{counter:03d}")
print(distance)
Verwachte uitvoer
      Kano|
6.8 km
25%
KAART-009
6.76
SpecificatieBetekenis in deze les
04dGeheel getal met minstens vier posities en voorloopnullen
.2fTwee cijfers na de decimale punt
<8Links uitlijnen binnen minstens acht posities
.1%Verhouding als percentage met één decimaal

Deze uitlijning telt Python-tekstposities, geen pixels. Bij onze eenvoudige labels werkt dat voor een rustig tekstoverzicht. Verschillende lettertypes en samengestelde zichtbare tekens kunnen op een scherm een andere breedte hebben.

Veelgemaakte fout: alleen een procentteken plakken

Een verhouding van een kwart is als getal 0.25. Alleen een procentteken toevoegen maakt daar nog geen percentage van. Voer deze variant uit en vergelijk haar uitvoer met de betekenis van een kwart.

Een procentteken zonder omzetting
share = 0.25
print(f"{share:.1f}%")
Verwachte uitvoer
0.2%

De uitvoer toont een klein deel van één procent in plaats van een kwart van het geheel. Met % als formaattype vermenigvuldigt de weergave met honderd en voegt zij het procentteken toe. Je hoeft de oorspronkelijke verhouding daarvoor niet aan te passen.

Maak het afgesproken label

Geef bij iedere opdracht de complete string terug, inclusief de vaste tekst, spaties of afsluitende streep. De nummeropdracht krijgt niet-negatieve gehele getallen. Metingen mogen ook nul of negatief zijn.

De precisie bepaalt hoe de waarde wordt afgerond voor deze uitvoer. Zij maakt van een kommagetal geen exact rekenmodel voor alle decimalen. Houd hier de weergave en de opgeslagen waarde uit elkaar.

AAN DE SLAG 0/4
1

Maak een herkenbaar nummer

Laat badge NR- gevolgd door het niet-negatieve gehele nummer teruggeven, met minimaal vier cijferposities en voorloopnullen.

2

Toon twee decimalen

Laat measurement de waarde met precies twee decimalen en daarna één spatie en de letter m teruggeven.

3

Lijn links uit zonder afknippen

Laat column de naam links uitlijnen in minimaal acht posities, met spaties erachter en daarna een verticale streep. Behoud langere namen volledig.

4

Geef een verhouding als percentage

Laat percentage de verhouding als percentage met precies één decimaal en het procentteken teruggeven.

Wat je meeneemt

  • Een formaatspecificatie volgt binnen de accolades na een dubbele punt.
  • Breedte is een minimum; precisie bepaalt de decimale weergave.
  • Het procenttype zet een verhouding om in een percentage voor de uitvoer.

Hierna onderzoek je waarom twee gelijk ogende teksten toch kunnen verschillen.

main.py
UitvoerPython
›
›_

Hier komt je resultaat.

Voer je code uit en ontdek
wat je hebt gemaakt.

0/4 stappen
EVEN MEEKIJKEN

Bekijk hoe het kan.

Je mag de oplossing bekijken. Deze poging telt dan niet mee als afgeronde les. Met Reset kun je daarna opnieuw zelf oefenen.