Maak een herkenbaar nummer
Laat badge NR- gevolgd door het niet-negatieve gehele nummer teruggeven, met minimaal vier cijferposities en voorloopnullen.
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.
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.
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.
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)Kano| 6.8 km 25% KAART-009 6.76
| Specificatie | Betekenis in deze les |
|---|---|
04d | Geheel getal met minstens vier posities en voorloopnullen |
.2f | Twee cijfers na de decimale punt |
<8 | Links 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.
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.
share = 0.25
print(f"{share:.1f}%")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.
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.
Laat badge NR- gevolgd door het niet-negatieve gehele nummer teruggeven, met minimaal vier cijferposities en voorloopnullen.
Laat measurement de waarde met precies twee decimalen en daarna één spatie en de letter m teruggeven.
Laat column de naam links uitlijnen in minimaal acht posities, met spaties erachter en daarna een verticale streep. Behoud langere namen volledig.
Laat percentage de verhouding als percentage met precies één decimaal en het procentteken teruggeven.
Hierna onderzoek je waarom twee gelijk ogende teksten toch kunnen verschillen.
Voer je code uit en ontdek
wat je hebt gemaakt.
Je hoeft het niet in één keer goed te doen. Na het uitvoeren zie je hier welke stappen al kloppen.