Bouw zelf — het bereik van een lijst
Leerdoel: je gebruikt max_en_min om een nieuwe waarde af te
leiden: het bereik (groot − klein). Dit is een veelgebruikte
statistische maat.
Opdracht
Schrijf bereik(lijst) die het verschil tussen het grootste en kleinste
element returnt.
bereik([5, 2, 8, 1, 7, 4])→7(want 8 − 1)bereik([-3, -1, -7])→6(want -1 − (-7))bereik([42])→0
Aan het eind plot je het bereik per testlijst in een staafdiagram.
Tip
max_en_min(lijst) geeft een tuple terug. Pak hem uit met
klein, groot = max_en_min(lijst) en bereken dan het verschil.
Antwoord
def bereik(lijst):
klein, groot = max_en_min(lijst)
return groot - klein
Of zonder uitpakken:
def bereik(lijst):
return max_en_min(lijst)[1] - max_en_min(lijst)[0]
Maar dit laatste is slechter: je roept max_en_min twee keer aan
— dubbel werk. Uitpakken is netter.
Uitdaging (optioneel)
Schrijf genormaliseerd(lijst) die elk element omrekent naar een waarde
tussen 0 en 1, op basis van het bereik:
genormaliseerd(x) = (x - klein) / (groot - klein)
Voor [1, 5, 9] → [0.0, 0.5, 1.0]. Wat gebeurt er als alle waardes
gelijk zijn? (Hint: deling door 0.)
Door naar stap 9: veelgemaakte fouten →