Przegląd projektu
Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 49 z 56.
Drugi projekt to silnik quizów. Stan to lista pytań, z których każde jest krotką (category, text, answer):
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]W ciągu następnych czterech lekcji będziesz dodawać funkcje pojedynczo:
- Dodaj pytania i zadawaj je po kolei
- Oceniaj odpowiedzi (bez rozróżniania wielkości liter, po usunięciu białych znaków)
- Filtruj według kategorii
- Podsumuj przebieg, przedstawiając wyniki dla każdej kategorii
Podobnie jak w Habit Tracker, każda lekcja jest samodzielna, a bank pytań będzie trzeba odtworzyć na początku każdego pliku.
Wyzwanie
PoczątkującyNa początek napisz kod przygotowujący dane:
- Zainicjuj pustą tablicę pytań (
[(String, String, String)]) - Wyświetl liczbę elementów
- Wyświetl informację, czy tablica jest pusta
Oczekiwany wynik:
0
trueSpróbuj swoich sił
// TODO: zadeklaruj pustą tablicę [(String, String, String)] o nazwie questions,
// następnie wypisz count i isEmpty
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
1Dogłębnie o ciągach znaków
Liczba i indeksyWielkość liter i usuwanie białych znakówWyszukiwanie w ciągach znakówDzielenie i łączenieZastępowanie podciągówPodsumowanie — sprawdzanie nazwy użytkownika4Zbiory
Tworzenie zbiorówSuma i część wspólnaRóżnica i różnica symetrycznaPodzbiór i nadzbiórPowtórka — filtr tagów7Projekt – Śledzenie nawyków
Przegląd projektuOznacz jako wykonane10Projekt — silnik quizów
Przegląd projektuZadawanie pytań2Zakresy i kroki
Zakresy domknięte i półotwarteKrokMetody zakresówZakresy w instrukcji switchPowtórka — siatka kalendarza5Funkcje wyższego rzędu, część 1
MapFilterReduceŁączenie map, filter i reducePodsumowanie – statystyki słówPoćwicz samodzielnie: Edytor online Swift