Présentation du projet
Fait partie de la section Logique et Flux du Journey Swift de Coddy — leçon 49 sur 56.
Le deuxième projet est un moteur de quiz. L'état est une liste de questions, chacune étant un tuple de (category, text, answer) :
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Au cours des quatre prochaines leçons, vous ajouterez des fonctionnalités une par une :
- Ajouter des questions et les poser dans l'ordre
- Évaluer les réponses (insensible à la casse, sans espaces superflus)
- Filtrer par catégorie
- Résumer la session avec une ventilation par catégorie
Comme pour le Habit Tracker, chaque leçon est indépendante ; vous reconstruirez la banque de questions en haut de chaque fichier.
Défi
DébutantPour commencer, écrivez le code de configuration des données :
- Initialisez un tableau vide de questions (
[(String, String, String)]) - Affichez le nombre d'éléments (count)
- Affichez si le tableau est vide
Le résultat attendu est :
0
trueAide-mémoire
Un moteur de quiz stocke les questions sous forme d'une liste de tuples avec (category, text, answer) :
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Propriétés de tableau utiles :
questions.count // nombre d'éléments
questions.isEmpty // vrai s'il n'y a pas d'élémentsEssayez vous-même
// TODO: déclarer un [(String, String, String)] vide appelé questions,
// puis afficher count et isEmpty
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de mots