Menu
Coddy logo textTech

Cerrados vs. Semiabiertos

Parte de la sección Lógica y Flujo del Journey de Swift de Coddy. Lección 7 de 56.

Swift tiene dos operadores de rango que parecen casi idénticos, pero significan cosas diferentes.

a...b es el rango cerrado. Incluye b:

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

a..<b es el rango semiabierto. Se detiene antes de b:

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

El intervalo semiabierto encaja de forma natural cuando tienes un conteo: 0..<arr.count cubre todos los índices válidos del arreglo. Usa un intervalo cerrado cuando ambos extremos sean valores reales que te interesen (como un rango de puntuaciones o un límite de calificación inclusivo).

challenge icon

Desafío

Fácil

Lee dos enteros (dos líneas): a y b, con a <= b. Imprime tres líneas:

  1. Los valores del rango cerrado a...b, unidos con , en una línea
  2. Los valores del rango semiabierto a..<b, unidos con , (o una línea vacía cuando el rango está vacío)
  3. La sum de todos los valores del rango cerrado

Para la entrada 1 después 5, la salida es:

1,2,3,4,5
1,2,3,4
15

Pruébalo tú mismo

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

// TODO: imprime el rango cerrado unido, el rango semiabierto unido, la suma del rango cerrado
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Playground de Swift