Les 5b
Last updated
Last updated
Opdracht 1) Zoek de keer in een lijst
Deze opdracht wordt afgetekend als:
Je de positie van de eerste keer kan printen
Uitleg. We gaan in de lijst kijken of er een * in zit. Dat doen we met een index()
. Index vertelt op welke plek een bepaald element in een lijst zit. Wij gaan 'm zo gebruiken: som_onderdelen.index('*')
Zoek de positie op met deze code en sla die op een in een variable. Die variabele noemen we index_keer
. We doen het zoeken nu alleen nog eventjes naar de keer, de gedeeld door die komt later!
Print de variabele uit en kijk of het klopt.
Denk eraan dat de lijst altijd op 0 begint, dus als er staat dat een * op plek 1 staat, dan staat die op de tweede plek!
Opdracht 2) Is er wel een keer?
Deze opdracht wordt afgetekend als:
Je de positie van de eerste keer kan printen, als deze in de lijst zit
Je de som gewoon uitrekent als er geen keer in de lijst zit
Uitleg. Heb je al eens geprobeerd de code uit te voeren als er geen keer in de som zit? Zo niet, probeer dat nu eens. Bijv. 5 + 3. Dan krijg je dit:
Omdat er geen * in de som zit, komt er een foutmelding. Dat gaan we nu oplossen. We mogen index()
alleen gebruiken als we weten dat er een keer in de lijst zit. Dat kunnen we testen met de code in
. Dat gaat zo:
Opdracht 3) De getallen ophalen
Deze opdracht wordt afgetekend als:
Je het getal vóór en na de keer ophaalt
Je die getallen gaat gebruiken in je som, als er een keer in de som zit
Je, als er geen keer in de som zit, gewoon de eerste twee getallen gebruikt
Uitleg. Er kunnen nu twee situaties aan de hand zijn:
Of er zit een keer in de som, en dan willen we die keer pakken en de getallen voor en na de keer.
Of er zit geen keer in de som, en dan willen we gewoon de eerste twee getallen en de eerste operator (zoals we het eerst deden)
We gaan daarvoor een nieuwe variabele begin
maken. Die begint op 0 als er geen keer is, en op de plek voor de keer als er wel een keer is.
Maak jij deze code af?
Test je code nu uit. Werkt het al goed?
Opdracht 4) De goede getallen weghalen!
Deze opdracht wordt afgetekend als:
Je de goede getallen uit de lijst haalt
Je daardoor iedere som met * en - en + netjes uitrekent
De code werkt niet goed. Dat komt omdat we nu nog altijd de eerste drie dingen uit de lijst halen, en niet de getallen en operator die we net gedaan hebben. Dat werkt natuurlijk niet goed.
We hadden deze codes:
Maar in plaats van weghalen en invoegen bij 0 willen we dat nu natuurlijk bij begin
doen. Dat is of 0 of de plek van de keer. Past jij de code aan?
Kijk goed of al deze sommen het doen:
5 + 4 * 10 -> 45
2 + 2 + 2 -> 6
2 + 2 * 2 -> ook 6
Opdracht 5) Ook de gedeeld door heeft voorrang (extra)
Deze opdracht wordt afgetekend als:
Je ook sommen met een / kan uitrekenen. Gedeeld door komt ook voor + en -
Uitleg. Ook delen gaat voor plus en min. Kun jij zorgen dat dat ook werkt in je rekenmachine? Dat is een pittige klus, maar wel heel leuk als het lukt. Weet je al hoe je dat gaat doen? Ga er dan maar voor!