Entscheidungen treffen · Abschlussprojekt
Abschlussprojekt: Projekt: Erstelle ein Empfehlungsprogramm
Du kannst ein Programm jetzt mit Vergleichen, booleschen Operatoren und Benutzerantworten zwischen mehreren Wegen wählen lassen. Dieses Projekt verbindet diese Fähigkeiten in einem interaktiven Empfehlungsprogramm.
Du wählst das Thema und die Empfehlungstexte selbst. Dein Programm könnte Aktivitäten, Bücher, Übungsmöglichkeiten für ein Hobby, Mahlzeiten, Lernmethoden oder ein anderes geeignetes Thema vorschlagen.
Die Struktur des Programms bleibt einheitlich, damit du es testen und hilfreiche automatische Rückmeldungen erhalten kannst.
Gestalte fünf Strings selbst
Erstelle nicht leere Strings für diese Variablen:
| Variable | Zweck |
|---|---|
tool_title | Ein Titel am Anfang des Berichts |
quick_choice | Eine Empfehlung für alle mit weniger als 20 Minuten Zeit |
active_choice | Eine Empfehlung für eine aktive Vorliebe mit mindestens 45 Minuten Zeit |
quiet_choice | Eine Empfehlung für eine ruhige Vorliebe mit mindestens 20 Minuten Zeit |
flexible_choice | Eine Alternative für eine andere Vorliebe mit mindestens 20 Minuten Zeit |
Alle vier Empfehlungstexte müssen verschieden sein. Die Werte können zu jedem von dir gewählten Thema passen.
Für einen Aktivitätenratgeber könntest du kurze Werte wie "Take a brisk walk" oder "Read a chapter" verwenden. Das sind Beispiele, keine vorgeschriebenen Antworten.
Erfasse zwei Antworten
Frage nach einer Vorliebe und der Anzahl verfügbarer Minuten. Bereinige die Vorliebe und wandle die Zahl um. Diese Eingabeaufrufe stehen bereits im Editor des Projekts. Ergänze beim Schritt Erfassen und Bereinigen die beiden vorübergehenden Ausgabeaufrufe unten. Klicke auf Run und beantworte jede Frage im Terminal mit 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}")
Probiere ACTIVE mit Leerzeichen an beiden Enden und 60 Minuten. Die vorübergehenden Kontrollen sollen active und 60 zeigen. Entferne diese beiden Ausgabeaufrufe, wenn du den abschließenden vierzeiligen Bericht ergänzt.
Das Projekt setzt voraus, dass die Minutenantwort eine ganze Zahl ist. Du musst weder try/except noch eine Validierungsschleife ergänzen.
Wende die Regeln der Reihe nach an
Wähle recommendation mit einer einzigen if/elif/else-Kette. Verwende diese Regeln in genau dieser Reihenfolge:
Wenn
minuteskleiner als20ist, wähle unabhängig von der Vorliebequick_choice.Wähle andernfalls
active_choice, wennpreferencegleich"active"ist undminutesmindestens45beträgt.Wähle andernfalls
quiet_choice, wennpreferencegleich"quiet"ist.Wähle in allen anderen Fällen
flexible_choice.
Die Reihenfolge gehört zum Entwurf. Die schnelle Regel steht zuerst, weil sie bei wenig Zeit Vorrang vor der Vorliebe hat.
Gib einen vierzeiligen Bericht aus
Gib nach der Entscheidung diese Struktur mit den tatsächlichen Werten aus:
[tool title]
Preference: [cleaned preference]
Minutes: [number]
Recommendation: [chosen recommendation]
Gib die eckigen Klammern nicht aus. Sie zeigen, wo deine Werte hingehören.
Baue das Programm mit Zwischenkontrollen auf
1. Persönlich gestalten
Schreibe den Titel und vier verschiedene Empfehlungstexte. Gib sie vorübergehend aus, wenn du die Schreibweise prüfen möchtest.
2. Erfassen und bereinigen
Füge die beiden Eingabeaufrufe ein. Führe das Programm mit zusätzlichen Leerzeichen und Großbuchstaben in der Vorliebe aus, um zu bestätigen, dass der gespeicherte Wert bereinigt ist.
3. Auswählen
Erstelle die Zweige in der geforderten Reihenfolge. Weise recommendation in jedem Zweig eine deiner vier Auswahlvariablen zu.
4. Darstellen
Gib den vierzeiligen Bericht aus. Entferne vorübergehende Kontrollen, die nicht zum Bericht gehören.
Teste jeden Weg
Führe vor der Abgabe mindestens diese vier Fälle aus:
| Vorliebe | Minuten | Erwartete Auswahlvariable |
|---|---|---|
active | 10 | quick_choice |
active | 60 | active_choice |
quiet | 30 | quiet_choice |
| ein anderes Wort | 30 | flexible_choice |
Teste auch die Grenzwerte 20 und 45. Jede Regel vor dem Ausführen laut auszusprechen kann dir helfen, das Ergebnis vorherzusagen.
Vor der Abgabe
Prüfe, ob:
der Titel und alle vier Auswahltexte nicht leere Strings sind;
die vier Empfehlungstexte verschieden sind;
preferencevon umgebenden Leerraumzeichen befreit und kleingeschrieben wird;minutesmitint()umgewandelt wird;der schnelle Zweig zuerst steht;
der aktive Zweig
andverwendet und die Grenze45einschließt;jeder Zweig eine deiner selbst gestalteten Auswahlvariablen zuweist;
der Bericht nach den Eingabeaufforderungen genau die vier geforderten nicht leeren Zeilen enthält.
Wenn dein Tarif Guided enthält, kannst du Monty bitten:
Prüfe mein Empfehlungsprogramm Regel für Regel. Kontrolliere die Reihenfolge und die Grenzwerte, ohne das Programm für mich umzuschreiben.
Nach bestandener Prüfung
Probiere andere Empfehlungstexte aus und behalte die Entscheidungsregeln bei. Gehe dann einen der vier Testfälle von Hand durch und verfolge, wie Python Bedingungen überspringt, bis es den ersten wahren Zweig erreicht.
Du bist von Programmen, die immer einem Weg folgen, zu Programmen übergegangen, die auf ihre aktuellen Daten reagieren. Im nächsten Kapitel lernst du Listen kennen. Damit kann ein Programm mit einer geordneten Sammlung zusammengehöriger Werte arbeiten.
Aufgabe
Erstelle ein interaktives Empfehlungsprogramm und gestalte es nach deinen Vorstellungen.
Schreibe einen nicht leeren
tool_titleund vier verschiedene Empfehlungstexte.Bereinige
preferencemit.strip().lower()und wandleminutesmitint()um.Wähle unter 20 Minuten
quick_choice.Wähle bei einer aktiven Vorliebe mit mindestens 45 Minuten
active_choice.Wähle bei einer ruhigen Vorliebe
quiet_choice, wenn die schnelle Regel nicht zutraf.Verwende in allen anderen Fällen
flexible_choice.Gib den geforderten vierzeiligen Bericht aus.
Submit verwendet nicht sichtbare Eingaben mit Leerzeichen und Großbuchstaben. Gib beim eigenen Testen eine ganze Zahl ein.