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 se ven 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 rango semiabierto es el ajuste natural cuando tienes un conteo: 0..<arr.count cubre cada índice válido del arreglo. Usa el rango cerrado cuando ambos extremos sean valores reales que te interesen (como un rango de puntuación 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 en el rango cerrado a...b, unidos con , en una línea
  2. Los valores en el rango semiabierto a..<b, unidos con , (o una línea vacía cuando el rango está vacío)
  3. La suma de cada valor en el rango cerrado

Para la entrada 1 y luego 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: imprimir 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