Sprint 1 · First Flight  ·  US2: Variabelen, input & f-strings

Als developer die net met Python begint, wil ik weten welke basistypes er zijn, hoe ik invoer inlees en hoe ik tekst opmaak met f-strings, zodat ik gegevens kan verwerken zonder dat mijn berekeningen stuklopen op het verkeerde type.

Taak 3: F-strings en delen

print("CPU load:", cpu_load, "%") geeft rommelige spaties waar je niets aan hebt in een logregel. En delen geeft ineens een kommagetal terug waar je een heel getal verwachtte. Twee kleine dingen die je de rest van je leven gebruikt.

De f-string

Zet een f vóór de aanhalingstekens. Zet variabelen tussen accolades. Klaar.

cpu_load = 80

# omslachtig, met plakken en casten
print("CPU load: " + str(cpu_load) + "%")

# met komma's — let op de extra spaties in de uitvoer
print("CPU load:", cpu_load, "%")     # CPU load: 80 %

# de f-string
print(f"CPU load: {cpu_load}%")       # CPU load: 80%

In de f-string mag je ook rekenen:

print(f"Half: {cpu_load / 2}")       # Half: 40.0

Afronden in de f-string

Met :.1f laat je één cijfer achter de komma zien:

load_average = 1.4732

print(f"Load: {load_average}")        # Load: 1.4732
print(f"Load: {load_average:.1f}")    # Load: 1.5
print(f"Load: {load_average:.2f}")    # Load: 1.47

Delen: / en //

RegelUitkomstType
10 / 42.5altijd float
10 // 42int — kapt af
10 % 42de rest
/ geeft ook een float bij een ronde uitkomst
10 / 2 is niet 5 maar 5.0. Dat is een float. Verwacht je een heel getal, gebruik dan //.
▶ Oefenomgeving: vergelijk de drie manieren

Hieronder zie je dezelfde regel op drie manieren. Druk op Uitvoeren en let op de spaties.

Druk op Uitvoeren.

Jouw Opdracht: De logtijd-regel

Bouw verder op je script van taak 2. Je vroeg daar het vrije schijfpercentage en het verbruik per uur, en je rekende uit hoeveel uur er nog gelogd kan worden. Nu maak je de uitvoer netjes.

Print één regel die er zo uitziet:

web01 | disk free  80% | log time 12h 18m

Reken die tijd om naar hele uren en minuten. Gebruik daarvoor // en %.

Acceptatiecriteria

  • Je gebruikt een f-string. Er staat nergens meer + str(...) of een komma in je print().
  • De logtijd staat in hele uren en minuten, berekend met // en %.
  • Er staat een kommagetal in je uitvoer dat je met :.1f op één decimaal afrondt.
  • Er staat nergens een losse spatie voor een %.
  • In commentaar leg je uit waarom je bij de uren // gebruikt en niet /.