Menu
Coddy logo textTech

Conteo e índices

Parte de la sección Lógica y Flujo del Journey de Swift de Coddy — lección 1 de 56.

Has usado str.count en los fundamentos para obtener el número de caracteres. Ir más allá significa entender que un String de Swift es una secuencia de Caracteres, no un array plano de bytes.

let greeting = "Hello"
print(greeting.count)            // 5
print(greeting.first!)           // "H"
print(greeting.last!)            // "o"
print(greeting.isEmpty)          // false

No puedes indexar una cadena con un entero. Para obtener un carácter en una posición específica, solicita a la cadena un index desplazado desde su inicio:

let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i])               // "e"

Las propiedades first, last e isEmpty son las herramientas cotidianas. Recurre a los índices solo cuando realmente necesites una posición específica.

challenge icon

Desafío

Principiante

Lee una sola línea de entrada. Imprime tres líneas:

  1. El número de caracteres en la entrada
  2. El primer y el último carácter separados por un espacio, por ejemplo, H o para Hello
  3. true cuando el primer y el último carácter son la misma letra ignorando mayúsculas y minúsculas, de lo contrario false (por ejemplo, Anna, RadaR)

Asume que la entrada tiene al menos un carácter.

Para la entrada RadaR, la salida es:

5
R R
true

Hoja de referencia

Un String de Swift es una secuencia de Characters. Propiedades clave:

let s = "Hello"
s.count       // 5
s.first!      // "H"
s.last!       // "o"
s.isEmpty     // false

Para acceder a un carácter en una posición específica, utiliza un desplazamiento de índice:

let i = s.index(s.startIndex, offsetBy: 1)
print(s[i])   // "e"

Comparación de caracteres sin distinguir entre mayúsculas y minúsculas:

s.first!.lowercased() == s.last!.lowercased()

Pruébalo tú mismo

let line = readLine()!

// TODO: imprimir la cantidad, el primero/último y la verificación de si es la misma letra ignorando mayúsculas y minúsculas
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