0%

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:

VariableZweck
tool_titleEin Titel am Anfang des Berichts
quick_choiceEine Empfehlung für alle mit weniger als 20 Minuten Zeit
active_choiceEine Empfehlung für eine aktive Vorliebe mit mindestens 45 Minuten Zeit
quiet_choiceEine Empfehlung für eine ruhige Vorliebe mit mindestens 20 Minuten Zeit
flexible_choiceEine 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:

  1. Wenn minutes kleiner als 20 ist, wähle unabhängig von der Vorliebe quick_choice.

  2. Wähle andernfalls active_choice, wenn preference gleich "active" ist und minutes mindestens 45 beträgt.

  3. Wähle andernfalls quiet_choice, wenn preference gleich "quiet" ist.

  4. 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:

VorliebeMinutenErwartete Auswahlvariable
active10quick_choice
active60active_choice
quiet30quiet_choice
ein anderes Wort30flexible_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;

  • preference von umgebenden Leerraumzeichen befreit und kleingeschrieben wird;

  • minutes mit int() umgewandelt wird;

  • der schnelle Zweig zuerst steht;

  • der aktive Zweig and verwendet und die Grenze 45 einschließ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.

  1. Schreibe einen nicht leeren tool_title und vier verschiedene Empfehlungstexte.

  2. Bereinige preference mit .strip().lower() und wandle minutes mit int() um.

  3. Wähle unter 20 Minuten quick_choice.

  4. Wähle bei einer aktiven Vorliebe mit mindestens 45 Minuten active_choice.

  5. Wähle bei einer ruhigen Vorliebe quiet_choice, wenn die schnelle Regel nicht zutraf.

  6. Verwende in allen anderen Fällen flexible_choice.

  7. Gib den geforderten vierzeiligen Bericht aus.

Submit verwendet nicht sichtbare Eingaben mit Leerzeichen und Großbuchstaben. Gib beim eigenen Testen eine ganze Zahl ein.