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:
| Antwoord | Variabele | Type na omzetting |
|---|---|---|
| Activiteit | activity | str |
| Aantal personen | people | int |
| Prijs per persoon | price_per_person | int |
| Snackbudget | snack_budget | int |
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:
vraagt om
activity,people,price_per_personensnack_budget, in die volgorde;de drie antwoorden met getallen omzet met
int();ticket_totalentotal_budgetberekent;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