Fechado vs Meio-Aberto
Parte da seção Lógica e Fluxo do Journey de Swift da Coddy. Lição 7 de 56.
Swift tem dois operadores de intervalo que parecem quase idênticos, mas significam coisas diferentes.
a...b é o intervalo fechado. Ele inclui b:
for i in 1...3 { print(i) }
// 1
// 2
// 3a..<b é o intervalo semiaberto. Ele para antes de b:
for i in 1..<3 { print(i) }
// 1
// 2O intervalo semiaberto é a opção natural quando você tem uma contagem: 0..<arr.count abrange todos os índices válidos do array. Use o intervalo fechado quando ambas as extremidades forem valores reais importantes para você (como um intervalo de pontuação ou um limite inclusivo de notas).
Desafio
FácilLeia dois inteiros (duas linhas): a e b, com a <= b. Imprima três linhas:
- Os valores no intervalo fechado
a...b, unidos com,em uma linha - Os valores no intervalo semiaberto
a..<b, unidos com,(ou uma linha vazia quando o intervalo estiver vazio) - A sum de cada valor no intervalo fechado
Para a entrada 1 e depois 5, a saída é:
1,2,3,4,5
1,2,3,4
15Experimente você mesmo
let a = Int(readLine()!)!
let b = Int(readLine()!)!
// TODO: imprimir intervalo fechado juntado, intervalo semiaberto juntado, soma do intervalo fechado
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 PalavrasPratique por conta própria: Playground de Swift