Ga naar hoofdinhoud

Slimme berichten met f-strings

Wat je al kent

Je kunt variabelen aanmaken en printen, en rekenen met operatoren. In deze les maak je je uitvoer veel mooier met f-strings.

Je rekenmachine uit les 3 werkte, maar de uitvoer (print("Som:", som)) was niet zo netjes. Met f-strings vlecht je tekst en variabelen tot één gladde zin.

Hoe werkt een f-string?

Een f-string is een string met een f ervoor. Variabelen zet je rechtstreeks tussen {}:

naam = "Alex"
leeftijd = 15

print(f"Hallo, ik ben {naam} en ik ben {leeftijd} jaar oud.")

Uitvoer:

Hallo, ik ben Alex en ik ben 15 jaar oud.

Je kunt ook berekeningen doen binnen de accolades:

leeftijd = 15
print(f"Volgend jaar ben ik {leeftijd + 1} jaar.")

Probeer zelf

Maak een variabele naam met je eigen naam, en print Hallo, [naam]! met een f-string.

naam = ...

# Print een begroeting met een f-string
print(...)
✅ Oplossing
naam = "Alex"

print(f"Hallo, {naam}!")

Predict

Wat print dit programma?

product = "Appel"
prijs = 1.5
aantal = 3

print(f"Product: {product}")
print(f"Prijs: €{prijs}")
print(f"Totaal: €{prijs * aantal}")
Bekijk het antwoord
Product: Appel
Prijs: €1.5
Totaal: €4.5

In de laatste regel wordt de berekening prijs * aantal direct in de f-string gedaan.


Run

Voer de code uit. Klopt het?

Verander aantal = 3 in aantal = 10. Wat zie je in de uitvoer?

Bekijk het antwoord
Product: Appel
Prijs: €1.5
Totaal: €15.0

Het programma berekent automatisch het nieuwe totaal — de f-string gebruikt de actuele waarde van de variabele.


Investigate

Kun je meerdere variabelen in één f-string combineren? En berekeningen met meerdere variabelen?

a = 10
b = 4

print(f"{a} + {b} = {a + b}")
print(f"{a} keer {b} is {a * b}")
Bekijk het antwoord
10 + 4 = 14
10 keer 4 is 40

Een f-string kan zoveel accolades hebben als je wilt, en binnen elke {...} mag een variabele of berekening staan.


Er gaat iets mis

Een veelgemaakte fout:

naam = "Alex"
leeftijd = 15

print(f"Volgend jaar ben je {leeftijd + 1 jaar.")

Foutmelding:

SyntaxError: f-string: expecting '}'

Waarom? De accolade { is geopend maar niet gesloten. Alles tussen { en } moet geldige Python-code zijn — je kunt geen vrije tekst (zoals jaar) toevoegen bínnen de accolades.

Oplossing: Zet de tekst buiten de accolades:

print(f"Volgend jaar ben je {leeftijd + 1} jaar.")

Modify

Pas de code hieronder aan zodat hij een nette zin print met behulp van een f-string.

naam = "Alex"
leeftijd = 15

# Vervang deze regel door één f-string met beide variabelen
print("Hallo", naam, "je bent", leeftijd, "jaar")
💡 Tip

Gebruik f"..." en zet de variabelen tussen {}.

✅ Oplossing
naam = "Alex"
leeftijd = 15

print(f"Hallo {naam}, je bent {leeftijd} jaar.")

Make: Volgend jaar

Schrijf een programma met twee variabelen (naam en leeftijd). Print één zin met een f-string die zegt hoe oud je volgend jaar wordt.

Verwachte uitvoer (bij naam = "Alex" en leeftijd = 15):

Hoi Alex! Volgend jaar word je 16.
naam = "Alex"
leeftijd = 15

# Print één f-string met de naam en de leeftijd + 1
print(...)
💡 Tip

Eén print() met een f-string die zowel {naam} als {leeftijd + 1} bevat.

✅ Oplossing
naam = "Alex"
leeftijd = 15

print(f"Hoi {naam}! Volgend jaar word je {leeftijd + 1}.")

Make Bonus: Rekenmachine met f-strings

Herinner je de rekenmachine van les 3? Herschrijf hem met f-strings zodat de uitvoer er netter uitziet.

Verwachte uitvoer:

10 + 4 = 14
10 - 4 = 6
10 x 4 = 40
10 / 4 = 2.5
a = 10
b = 4

# Print elke berekening op één regel met een f-string
print(...)
print(...)
print(...)
print(...)
💡 Tip

print(f"{a} + {b} = {a + b}") voor optellen. Vergelijkbaar voor de andere drie.

✅ Oplossing
a = 10
b = 4

print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} x {b} = {a * b}")
print(f"{a} / {b} = {a / b}")
Volgende les

Je kunt nu variabelen netjes in tekst weven. In de volgende les leer je string-methoden waarmee je tekst zelf kunt veranderen — bijvoorbeeld in hoofdletters of een woord vervangen.