Menu
Coddy logo textTech

Contagem e Índices

Parte da seção Lógica e Fluxo do Journey de Swift da Coddy — lição 1 de 56.

Você usou str.count nos fundamentos para obter o número de caracteres. Ir além significa entender que uma String Swift é uma sequência de Caracteres, não um array plano de bytes.

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

Você não pode indexar uma string com um número inteiro. Para obter um caractere em uma posição específica, solicite à string um index deslocado do seu início:

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

As propriedades first, last e isEmpty são as ferramentas do dia a dia. Recorra a índices apenas quando você realmente precisar de uma posição específica.

challenge icon

Desafio

Iniciante

Leia uma única linha de entrada. Imprima três linhas:

  1. O número de caracteres na entrada
  2. O primeiro e o último caractere separados por um espaço, por exemplo, H o para Hello
  3. true quando o primeiro e o último caracteres forem a mesma letra ignorando a capitalização, caso contrário false (ex: Anna, RadaR)

Assuma que a entrada tem pelo menos um caractere.

Para a entrada RadaR, a saída é:

5
R R
true

Folha de consulta

Uma String Swift é uma sequência de Caracteres. Principais propriedades:

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

Para acessar um caractere em uma posição específica, use um deslocamento de índice:

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

Comparação de caracteres insensível a maiúsculas e minúsculas:

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

Experimente você mesmo

let line = readLine()!

// TODO: imprimir a contagem, o primeiro/último caractere, e a verificação de mesma letra ignorando maiúsculas/minúsculas
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