Menu
Coddy logo textTech

Zusammenfassender Bericht

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.

Sie werden auf alle Kapitel gleichzeitig zurückgreifen: Tupel-Destructuring für die Iteration, „lenient grading“ aus dem Strings-Kapitel, Dictionaries mit Standard-Subskripten aus dem Dictionaries-Kapitel 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