0%

Abschlussprojekt: Entwickle ein Quizprogramm · Abschlussprojekt

Abschlussprojekt: Abschlussprojekt: Stelle dein Quizprogramm fertig

Du hast das vollständige Quizprogramm Schritt für Schritt entlang seiner Funktionsgrenzen aufgebaut:

personalized plan
    -> plan readiness
    -> non-empty answer
    -> response feedback
    -> one complete question
    -> question loop and score
    -> final report

Der letzte Meilenstein gibt dem Programm einen offiziellen Einstiegspunkt.

Ergänze main(plan)

main(plan) entscheidet, ob der übergebene Plan für einen Durchlauf geeignet ist.

Wenn der Plan nicht einsatzbereit ist:

Quiz plan is not ready.

Gib anschließend None zurück, ohne eine Frage zu stellen.

Wenn der Plan einsatzbereit ist, gib das Ergebnis von run_quiz(plan) zurück.

So bleibt die Validierung an der äußeren Grenze. Die inneren Funktionen können sich auf den einheitlich aufgebauten Plan verlassen, für den sie entworfen wurden.

Verfolge jetzt die fertige Aufrufstruktur im Diagramm. Beginne beim Quizplan, verfolge die Prüfung der Einsatzbereitschaft durch main(plan) und folge dann dem erfolgreichen Weg in die Funktionen, die du entwickelt hast. Das Bild zeigt die bekannten Teile und greift keinen neuen vor.

Der Quizplan durchläuft main und die Validierung und gelangt zu run_quiz. Diese Funktion koordiniert die Frageschleife, die Hilfsfunktionen für eine Frage, den Punktestand und den Abschlussbericht.

Die beiden bereits bereitgestellten Startzeilen am Ende von main.py gehören zum Grundgerüst der Plattform. Sie sind kein Lernziel und kein geprüfter Begriff dieses Kurses. Lass sie stehen, während du an main(plan) arbeitest. Python-Grundlagen II erklärt später die Modulmechanismen dahinter.

Führe einen gezielten Abschlusstest durch

Starte dein eigenes Quiz mehrmals:

  1. beantworte jede Frage richtig;

  2. beantworte mindestens eine Frage falsch;

  3. verwende bei einer richtigen Antwort andere Groß- und Kleinschreibung und umgebende Leerzeichen;

  4. gib vor einer gültigen Antwort eine leere Antwort ein;

  5. prüfe, dass die Frage nur bei einer leeren Eingabe wiederholt wird;

  6. prüfe, dass der Endpunktestand zu den akzeptierten Antworten passt.

Lies auch deine Fragedaten erneut durch. Die automatische Bewertung kann den Aufbau prüfen, aber nicht garantieren, dass jede fachliche Angabe richtig ist.

Prüfe den fertigen Aufbau

Deine fertige Datei trennt:

  • die Erstellung der Daten;

  • die Prüfung der Daten;

  • das Bereinigen und Vergleichen von Antworten;

  • das Feedback zu Antworten;

  • die Eingabeprüfung;

  • die Interaktion für eine einzelne Frage;

  • den Schleifendurchlauf und die Punkteberechnung;

  • die Formatierung des Ergebnisses;

  • die übergeordnete Ablaufsteuerung.

Dies ist nicht die einzige gültige Architektur. Es ist ein für den Einstieg überschaubarer Aufbau, dessen Grenzen du erklären, testen und verändern kannst.

Am Anfang des Kurses hast du ein paar Anweisungen im Browser ausgeführt. Du beendest sein Hauptprojekt mit einem selbst gestalteten interaktiven Programm aus Datensätzen, Funktionen, Entscheidungen, Schleifen, Validierung und Tests. Das ist ein deutlicher Fortschritt.

Welcher Abschlusstest prüft am besten mehrere wichtige Wege?

Aufgabe

Stelle das Abschlussprojekt fertig.

  1. Implementiere main(plan).

    • Wenn plan_is_ready(plan) den Wert False hat, gib Quiz plan is not ready. aus und gib None zurück.

    • Gib andernfalls run_quiz(plan) zurück.

  2. Arbeite für diesen Meilenstein nur in main(plan). Lass die beiden bereitgestellten Startzeilen am Ende unverändert. Sie gehören zum nicht bewerteten Grundgerüst der Plattform, nicht zum Lernstoff des Kurses.

  3. Behalte jede fertige Funktion und deine selbst gestalteten Quizdaten bei.

  4. Führe dein Quiz vor dem Einreichen von Hand anhand der Checkliste für den Abschlusstest aus.

Der nicht öffentliche Bewertungslauf verwendet einen eigenen Plan mit drei Fragen. Er enthält eine leere Eingabe vor einer gültigen Antwort, eine richtige Antwort mit umgebenden Leerzeichen und veränderter Groß- und Kleinschreibung sowie eine nicht leere falsche Antwort.