Stap 3: De getallen erbij (f-strings)
Deze stap gebruikt een f-string, uit Slimme berichten met f-strings.
Je ziet welke staaf het hoogst is, maar niet hoeveel minuten het zijn. Met
turtle.write() zet de schildpad tekst in de tekening. De tekst begint
waar de schildpad staat en loopt naar rechts, met de onderkant van de
letters op zijn hoogte. De schildpad zelf blijft staan.
import turtle
waarde = 110
turtle.write(f"{waarde} min")
De f-string maakt van het getal de tekst 110 min. Die komt rechts van het
midden van het venster te staan, want daar begint de schildpad.
Opdracht: minuten boven elke staaf
Plak je programma uit stap 2 in het veld. Ben je het kwijt, neem dan de oplossing van stap 2.
Zet boven elke staaf het aantal minuten, zoals 110 min. De tekst begint
bij de linkerkant van de staaf, 5 hoger dan de bovenkant. Til de pen op
voordat de schildpad erheen gaat, anders trekt hij een streep.
# Plak hier je programma uit stap 2
Klik hier voor een tip.
De linkerkant van de staaf is plek. De grond ligt op -100, dus de
bovenkant van een staaf ligt de hoogte boven -100. In de loop, na de staaf,
gaat de pen omhoog, gaat de schildpad naar het punt boven de staaf, en
schrijft hij daar de f-string.
Klik hier voor de oplossing.
import turtle
minuten = [65, 110, 80, 45, 30]
def staaf(x, hoogte):
turtle.penup()
turtle.goto(x, -100)
turtle.pendown()
turtle.fillcolor("skyblue")
turtle.begin_fill()
for zijde in range(2):
turtle.forward(60)
turtle.left(90)
turtle.forward(hoogte)
turtle.left(90)
turtle.end_fill()
plek = -200
for waarde in minuten:
staaf(plek, waarde)
turtle.penup()
turtle.goto(plek, -100 + waarde + 5)
turtle.write(f"{waarde} min")
plek += 80
turtle.hideturtle()
-100 + waarde is de bovenkant van de staaf, en + 5 zet de tekst er
net boven.
Er gaat iets mis
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Oorzaak: je schreef waarde + " min". Met + plak je tekst aan
tekst, maar waarde is een getal. Een getal en een tekst kan Python niet
optellen.
Oplossing: zet het getal in een f-string: f"{waarde} min". Die maakt
er zelf tekst van.
Kopieer je programma voordat je verdergaat: de editor bewaart het niet.
Door naar stap 4: in het midden.