Op een school kan een leerling een middagmaal, soep of een vieruurtje bestellen. De ouders van een gezin van één of meerdere kinderen geven per dag of week op welke maaltijden ze wensen te bestellen. De kostprijs verschijnt dan op de factuur.
De prijs van de maaltijden is als volgt vastgelegd:
Om de prijs te bepalen moeten ouders via een webapplicatie de geweenste maaltijden voor hun kinderen aanvinken. De applicatie stelt deze data dan per dag voor als een tuple met achtereenvolgens de gewenste maaltijden en het aantal keer de gewenste maaltijd besteld wordt.
Stel dat een gezin op maandag 2 middagmalen en 1 vieruutje wil bestellen, dan kan deze data op twee verschillende manieren bijgehouden worden:
Bestel je op donderdag tweemaal soep dan wordt ('soep',2) geregistreerd.
De functie dagprijs berekent de prijs afgerond dat een gezin betaald voor één dag. De enige parameter van deze functie is een tuple met de bestelling van de dag.
De functie weekprijs berekent de weekprijs. Als parameter wordt een lijst van verschillende dagen meegegeven. Rond de prijs af tot 2 cijfers na de komma.
>>> dagprijs(('middagmaal', 2, 'soep', 2, 'vieruurtje', 2))
18.6
>>> dagprijs(('middagmaal', 2, 'vieruurtje', 2))
15.2
>>> weekprijs((('middagmaal', 2, 'soep', 2, 'vieruurtje', 2), ('middagmaal', 1, 'soep', 1), ('soep', 3, 'vieruurtje', 3), ('middagmaal', 3, 'soep', 1), ('middagmaal', 3, 'soep', 3, 'vieruurtje', 1)))
78.5
>>> weekprijs((('middagmaal', 1, 'soep', 3, 'vieruurtje', 3), ('vieruurtje', 1), ('middagmaal', 1, 'soep', 1), ('middagmaal', 3), ('middagmaal', 1, 'soep', 2)))
51.2