Visão Geral do Projeto
Parte da seção Lógica e Fluxo do Journey de Swift da Coddy — lição 49 de 56.
O segundo projeto é um mecanismo de quiz. O estado é uma lista de perguntas, cada uma sendo uma tupla de (category, text, answer):
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Ao longo das próximas quatro lições, você adicionará recursos um de cada vez:
- Adicionar perguntas e fazê-las em ordem
- Pontuar respostas (insensível a maiúsculas e minúsculas, sem espaços extras)
- Filtrar por categoria
- Resumir a execução com um detalhamento por categoria
Assim como o Habit Tracker, cada lição é independente; você reconstruirá o banco de questões no topo de cada arquivo.
Desafio
IniciantePara começar, escreva o código de configuração dos dados:
- Inicialize um array vazio de perguntas (
[(String, String, String)]) - Imprima a contagem
- Imprima se o array está vazio
A saída esperada é:
0
trueFolha de consulta
Um mecanismo de quiz armazena perguntas como uma lista de tuplas com (category, text, answer):
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Propriedades úteis de array:
questions.count // número de elementos
questions.isEmpty // true se não houver elementosExperimente você mesmo
// TODO: declare um [(String, String, String)] vazio chamado questions,
// então imprima count e isEmpty
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Strings a Fundo
Contagem e ÍndicesCase e TrimBusca em StringsDivisão e JunçãoSubstituindo SubstringsRecapitulação - Verificação de Nome de Usuário4Conjuntos
Criando ConjuntosUnião e InterseçãoSubtração e Diferença SimétricaSubconjunto e SuperconjuntoRecapitulação - Filtro de Tags7Projeto - Monitor de Hábitos
Visão Geral do ProjetoMarcar como Concluído10Projeto - Mecanismo de Quiz
Visão Geral do ProjetoFazer Perguntas2Intervalos e Strides
Fechado vs Meio-AbertoStrideMétodos de IntervaloIntervalos no SwitchRecapitulação - Grade de Calendário5Funções de Ordem Superior Parte 1
MapFilterReduceEncadeando map, filter, reduceRecapitulação - Estatísticas de Palavras