0%

In gesprek met je programma · eindproject

Eindproject: Project: Maak het programma voor je groepsuitje interactief

Aan het einde van hoofdstuk 2 maakte je een plan voor een groepsuitje met waarden die in de code stonden. Nu maak je van dat vaste programma een interactief programma.

De persoon die het uitvoert, kiest de activiteit, de groepsgrootte, de prijs per persoon en het snackbudget. Je programma berekent de totalen en toont een volledig overzicht.

De vier vragen

Vraag om deze waarden in deze volgorde:

AntwoordVariabeleType na omzetting
Activiteitactivitystr
Aantal personenpeopleint
Prijs per persoonprice_per_personint
Snackbudgetsnack_budgetint

De activiteit komt rechtstreeks uit input(). De andere drie antwoorden moeten met int() worden omgezet voordat je ermee rekent.

Schrijf zelf duidelijke vragen of gebruik de voorgestelde formuleringen in de commentaarregels van de startcode. Elke vraag moet duidelijk maken wat de persoon moet invoeren.

Bereken twee totalen

Maak na het verzamelen en omzetten van de waarden:

ticket_total = people * price_per_person
total_budget = ticket_total + snack_budget

Dit zijn dezelfde berekeningen als in het vorige hoofdstuk. Het verschil is dat de beginwaarden nu binnenkomen terwijl het programma draait.

Druk het overzicht af

Gebruik de variabelen om vijf regels in deze vorm af te drukken:

OUTING PLAN
Activity: planetarium
People: 4
Tickets: $52
Total budget: $70

Deze voorbeeldresultaten horen bij de volgende antwoorden:

planetarium
4
13
18

Je programma moet ook werken met andere geschikte antwoorden. Zet planetarium, 4, 13, 18, 52 of 70 niet rechtstreeks in het overzicht of de berekeningen.

Bouw het programma in stappen

Volg de IPO-structuur uit de vorige les.

Invoer

Schrijf de vier aanroepen van input(). Voer het programma uit en controleer of het alle vragen in de juiste volgorde stelt. Je kunt nu tijdelijk de variabelen afdrukken om te controleren waar elk antwoord terechtkomt.

Verwerking

Zet de drie antwoorden met getallen om en bereken ticket_total en total_budget. Druk de totalen tijdelijk af en controleer ze met een klein voorbeeld.

Uitvoer

Verwijder de tijdelijke controles en voeg de vijf vereiste regels van het overzicht toe. Gebruik f-strings voor de regels met variabelen.

Voordat je instuurt

Controleer of:

  • elk resultaat van input() aan een nuttige variabele wordt toegewezen;

  • de drie antwoorden met getallen worden omgezet met int();

  • de vragen in de vereiste volgorde verschijnen;

  • beide totalen uit variabelen worden berekend;

  • het overzicht na de vragen uit precies vijf niet-lege regels bestaat;

  • dollartekens als gewone tekst buiten de accolades van de f-strings staan.

Als je abonnement Guided bevat, kun je Monty vragen:

Beoordeel mijn programma voor het groepsuitje in de volgorde invoer, verwerking, uitvoer. Zoek de eerste plek waar een waarde het verkeerde type of de verkeerde betekenis heeft en laat mij die corrigeren.

Nadat het programma slaagt

Voer het project opnieuw uit met een echt idee voor een uitje. Probeer een gratis activiteit door 0 als prijs per persoon in te voeren, of vergelijk het totaal voor twee verschillende groepsgroottes.

Je hebt nu een programma geschreven waarvan het resultaat tijdens het uitvoeren wordt bepaald door de gebruiker. Dat is een grote stap verder dan vaste voorbeelden. Dezelfde structuur van invoer, verwerking en uitvoer kun je gebruiken voor rekenprogramma’s, vragenlijsten, omrekenprogramma’s, spellen en veel andere programma’s.

Opdracht

Bouw een interactief programma voor een groepsuitje dat:

  1. vraagt om activity, people, price_per_person en snack_budget, in die volgorde;

  2. de drie antwoorden met getallen omzet met int();

  3. ticket_total en total_budget berekent;

  4. na de vragen precies vijf regels met het overzicht afdrukt, met f-strings voor de regels die verzamelde of berekende waarden bevatten.

Bereken ticket_total met people * price_per_person en bereken daarna total_budget met ticket_total + snack_budget. Verwijder tijdelijke uitvoer voor het debuggen voordat je instuurt.

Bij de testantwoorden eindigt het overzicht met:

OUTING PLAN
Activity: planetarium
People: 4
Tickets: $52
Total budget: $70