Menu
Coddy logo textTech

Visão Geral do Projeto

Parte da seção Lógica e Fluxo do Journey de Swift da Coddy — lição 33 de 56.

Você vai construir um pequeno rastreador de hábitos. O estado reside em um único dicionário mapeando o nome de um hábito ao seu histórico de dias concluídos na semana:

var habits: [String: [Int]] = [
    "read": [1, 3, 5],          // concluído na Seg, Qua, Sex
    "workout": [2, 4]           // concluído na Ter, Qui
]

Os dias são números inteiros 1...7 para Seg...Dom. Ao longo das próximas quatro lições, você adicionará recursos um de cada vez:

  • Adicionar um hábito e marcá-lo como concluído
  • Calcular sequências ao longo da semana
  • Imprimir uma grade semanal
  • Comparar duas semanas

Cada lição é independente, você redeclarará o dicionário no topo de cada arquivo. O estado tem o mesmo formato, então os métodos que você escrever são transferíveis entre as lições.

challenge icon

Desafio

Iniciante

Para dar início ao projeto, escreva o código de configuração dos dados:

  1. Inicialize um dicionário habits vazio ([String: [Int]])
  2. Imprima a contagem de habits
  3. Imprima se o dicionário está vazio

A saída esperada é:

0
true

Folha de consulta

Um rastreador de hábitos pode ser modelado como um dicionário mapeando nomes de hábitos para arrays de números de dias concluídos (1...7 para Seg–Dom):

var habits: [String: [Int]] = [
    "read": [1, 3, 5],    // feito na Seg, Qua, Sex
    "workout": [2, 4]     // feito na Ter, Qui
]

Propriedades úteis de dicionário:

habits.count    // número de entradas
habits.isEmpty  // true se não houver entradas

Experimente você mesmo

// TODO: declare um [String: [Int]] vazio, então imprima count e isEmpty
quiz iconTeste seus conhecimentos

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