Menu
Coddy logo textTech

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
// 3

a..<b é o intervalo semiaberto. Ele para antes de b:

for i in 1..<3 { print(i) }
// 1
// 2

O 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).

challenge icon

Desafio

Fácil

Leia dois inteiros (duas linhas): a e b, com a <= b. Imprima três linhas:

  1. Os valores no intervalo fechado a...b, unidos com , em uma linha
  2. Os valores no intervalo semiaberto a..<b, unidos com , (ou uma linha vazia quando o intervalo estiver vazio)
  3. 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
15

Experimente você mesmo

let a = Int(readLine()!)!
let b = Int(readLine()!)!

// TODO: imprimir intervalo fechado juntado, intervalo semiaberto juntado, soma do intervalo fechado
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

Pratique por conta própria: Playground de Swift