Menu
Coddy logo textTech

Zusammenfassungsbericht

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 53 von 56.

Abschließende Funktion: Führen Sie statt einer Kategorie das gesamte Quiz durch und erstellen Sie am Ende eine Zusammenfassung pro Kategorie.

Du wirst dich gleichzeitig auf jedes Kapitel stützen: Tupel-Destrukturierung für die Iteration, großzügige Bewertung aus dem Kapitel über Zeichenketten, Wörterbücher mit Standardwerten beim Indexzugriff aus dem Kapitel über Wörterbücher und sortierte Iteration für eine deterministische Ausgabe.

Erstellen Sie die Zähler pro Kategorie als zwei parallele Dictionaries:

var totals: [String: Int] = [:]
var rights: [String: Int] = [:]

Erhöhe totals[cat, default: 0] += 1 für jede Frage; erhöhe rights[cat, default: 0] nur bei einer richtigen Antwort. Gehe am Ende die Kategorien in alphabetischer Reihenfolge durch, um den Bericht auszugeben.

challenge icon

Aufgabe

Mittel

Derselbe Fragenkatalog mit sechs Fragen aus der vorherigen Lektion. Lies sechs Antworten von stdin ein, eine pro Zeile, in der gleichen Reihenfolge wie im Katalog. Verwende eine tolerante Bewertung.

Gib in dieser Reihenfolge Folgendes aus:

  1. Eine Zeile pro Kategorie, alphabetisch sortiert, im Format <category>: <right>/<total>
  2. Eine abschließende Zeile: Total: <right>/<total> über den gesamten Durchlauf

Für die Eingabe 4 / 3.14 / Paris / Atlantic / green / WATER lautet die Ausgabe:

geo: 1/2
math: 2/2
science: 2/2
Total: 5/6

Probier es selbst

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("math", "Value of pi to 2 decimals?", "3.14"),
    ("geo", "Capital of France?", "Paris"),
    ("geo", "Largest ocean?", "Pacific"),
    ("science", "Color of grass?", "green"),
    ("science", "H2O is?", "water")
]

// TODO: 6 Antworten lesen; milde Bewertung; Summen/korrekte Antworten pro Kategorie erstellen;
// sortierte Zusammenfassungszeilen + Gesamt ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Kontrollfluss

Übe selbstständig: Swift-Playground