Menu
Coddy logo textTech

Raport podsumowujący

Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 53 z 56.

Ostatnia funkcja: zamiast jednej kategorii uruchom cały quiz i na końcu przygotuj podsumowanie dla każdej kategorii.

Jednocześnie wykorzystasz wiedzę z każdego rozdziału: destrukturyzację krotek do iteracji, łagodniejsze ocenianie ze rozdziału o ciągach znaków, słowniki z domyślnymi indeksami dolnymi z rozdziału o słownikach oraz sortowaną iterację, by uzyskać deterministyczne wyniki.

Zbuduj liczniki dla poszczególnych kategorii jako dwa równoległe słowniki:

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

Zwiększaj totals[cat, default: 0] += 1 przy każdym pytaniu; zwiększaj rights[cat, default: 0] tylko przy poprawnej odpowiedzi. Na końcu przejdź przez kategorie w kolejności alfabetycznej i wydrukuj raport.

challenge icon

Wyzwanie

Średni

Ta sama baza sześciu pytań co w poprzedniej lekcji. Wczytaj sześć odpowiedzi ze standardowego wejścia, po jednej w wierszu, w tej samej kolejności co w bazie. Zastosuj łagodne ocenianie.

Wypisz w następującej kolejności:

  1. Jeden wiersz na kategorię, posortowane alfabetycznie, w formacie <category>: <right>/<total>
  2. Jeden ostatni wiersz: Total: <right>/<total> dla całego przebiegu

Dla wejścia 4 / 3.14 / Paris / Atlantic / green / WATER wynikiem jest:

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

Spróbuj swoich sił

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: odczytaj 6 odpowiedzi; oceniaj łagodnie; oblicz liczbę pytań i poprawnych odpowiedzi dla każdej kategorii;
// wypisz posortowane wiersze podsumowania + Total
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Edytor online Swift