Beslissingen nemen · eindproject
Eindproject: Project: Bouw een adviesprogramma
Je kunt een programma nu laten kiezen tussen verschillende paden met vergelijkingen, booleaanse operatoren en antwoorden van gebruikers. Dit project combineert die vaardigheden in een interactief adviesprogramma.
Je kiest zelf het onderwerp en de aanbevelingsteksten. Het programma kan activiteiten aanraden, boeken om te lezen, manieren om een hobby te oefenen, maaltijden, studieaanpakken of een ander geschikt onderwerp.
De structuur van het programma blijft hetzelfde, zodat je het kunt testen en nuttige automatische feedback kunt krijgen.
Maak vijf strings naar eigen smaak
Maak niet-lege strings voor deze variabelen:
| Variabele | Doel |
|---|---|
tool_title | Een titel bovenaan het overzicht |
quick_choice | Een aanbeveling voor iedereen met minder dan 20 minuten |
active_choice | Een aanbeveling bij een actieve voorkeur met minstens 45 minuten |
quiet_choice | Een aanbeveling bij een rustige voorkeur met 20 minuten of meer |
flexible_choice | Een terugvaloptie bij een andere voorkeur met 20 minuten of meer |
Maak alle vier de aanbevelingsstrings verschillend. De waarden mogen passen bij elk onderwerp dat je kiest.
Voor een activiteitengids kun je korte waarden gebruiken zoals "Take a brisk walk" of "Read a chapter". Dat zijn voorbeelden, geen verplichte antwoorden.
Verzamel twee antwoorden
Vraag om een voorkeur en het aantal beschikbare minuten. Schoon de voorkeur op en zet het getal om. Deze invoeraanroepen staan al in de Editor van het project. Voeg bij de tussencontrole voor verzamelen en opschonen de twee tijdelijke printaanroepen hieronder toe. Klik op Run en beantwoord elke vraag in de terminal met Enter:
preference = input("Preference (active or quiet): ").strip().lower()
minutes = int(input("Minutes available: "))
print(f"Cleaned preference: {preference}")
print(f"Minutes as a number: {minutes}")
Probeer ACTIVE met spaties aan beide kanten en 60 minuten. De tijdelijke controles moeten active en 60 tonen. Verwijder die twee printaanroepen wanneer je het uiteindelijke overzicht van vier regels toevoegt.
Het project gaat ervan uit dat het antwoord voor de minuten een geheel getal is. Je hoeft geen try/except of validatielus toe te voegen.
Pas de regels op volgorde toe
Kies recommendation met één if/elif/else-keten. Gebruik deze regels in precies deze volgorde:
Als
minuteskleiner is dan20, kies jequick_choice, ongeacht de voorkeur.Anders, als
preferencegelijk is aan"active"enminutesminstens45is, kies jeactive_choice.Anders, als
preferencegelijk is aan"quiet", kies jequiet_choice.In elk ander geval kies je
flexible_choice.
De volgorde hoort bij het ontwerp. De regel voor weinig tijd komt eerst, omdat die de voorkeur overstemt wanneer er weinig tijd beschikbaar is.
Druk een overzicht van vier regels af
Druk na de beslissing deze structuur af met de werkelijke waarden:
[tool title]
Preference: [cleaned preference]
Minutes: [number]
Recommendation: [chosen recommendation]
Druk de vierkante haken niet af. Ze tonen waar je waarden horen te staan.
Bouw het programma met tussencontroles
1. Maak het persoonlijk
Schrijf de titel en vier verschillende aanbevelingsstrings. Druk ze tijdelijk af als je de spelling wilt controleren.
2. Verzamel en schoon op
Voeg de twee invoeraanroepen toe. Voer het programma uit met extra spaties en hoofdletters in de voorkeur om te controleren of de opgeslagen waarde is opgeschoond.
3. Kies
Bouw de takken in de vereiste volgorde. Wijs in elke tak een van je vier keuzevariabelen toe aan recommendation.
4. Presenteer
Druk het overzicht van vier regels af. Verwijder tijdelijke controles die niet bij het overzicht horen.
Test elk pad
Voer vóór het insturen minstens deze vier gevallen uit:
| Voorkeur | Minuten | Verwachte keuzevariabele |
|---|---|---|
active | 10 | quick_choice |
active | 60 | active_choice |
quiet | 30 | quiet_choice |
| een ander woord | 30 | flexible_choice |
Test ook de grenswaarden 20 en 45. Elke regel hardop zeggen voordat je hem uitvoert, kan helpen om het resultaat te voorspellen.
Voordat je instuurt
Controleer of:
de titel en alle vier de keuzes niet-lege strings zijn;
de vier aanbevelingsstrings verschillend zijn;
preferencegeen witruimte aan de randen heeft en in kleine letters staat;minuteswordt omgezet metint();de tak voor weinig tijd eerst komt;
de actieve tak
andgebruikt en de grens van45meeneemt;elke tak een van je eigen keuzevariabelen toewijst;
het overzicht na de invoervragen precies de vier vereiste niet-lege regels bevat.
Als je abonnement Guided bevat, kun je Monty vragen:
Beoordeel mijn adviesprogramma regel voor regel. Controleer de volgorde en grenswaarden zonder het programma voor me te herschrijven.
Nadat het programma slaagt
Probeer andere aanbevelingsteksten terwijl je de beslisregels intact houdt. Loop daarna een van de vier testgevallen met de hand door en volg hoe Python voorwaarden overslaat totdat het bij de eerste ware tak komt.
Je bent van programma’s die altijd één pad volgen naar programma’s gegaan die reageren op hun huidige gegevens. In het volgende hoofdstuk leer je lijsten kennen, waarmee één programma kan werken met een geordende verzameling samenhangende waarden.
Opdracht
Bouw een interactief adviesprogramma en maak het persoonlijk.
Schrijf een niet-lege
tool_titleen vier verschillende aanbevelingsstrings.Schoon
preferenceop met.strip().lower()en zetminutesom metint().Kies
quick_choicebij minder dan 20 minuten.Kies
active_choicebij een actieve voorkeur met minstens 45 minuten.Kies
quiet_choicebij een rustige voorkeur als de regel voor weinig tijd niet van toepassing was.Gebruik
flexible_choicein elk ander geval.Druk het vereiste overzicht van vier regels af.
Submit gebruikt afgeschermde invoer met spaties en hoofdletters. Voer een geheel getal in als je het programma zelf test.