Strings como sequências

Manipular texto por comprimento, índice, fatia e métodos comuns.

Strings como sequências

Objetivo da aula

Manipular texto por comprimento, índice, fatia e métodos comuns.

Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.

Começando do zero

Uma string (str) é uma sequência de caracteres. Isso significa que podemos percorrê-la, acessar posições e obter trechos. Strings são imutáveis: operações que parecem modificá-las na verdade produzem uma nova string.

Uma imagem mental para entender

Imagine uma palavra escrita em cartões alinhados. Cada cartão ocupa uma posição: 0, 1, 2… Você pode apontar para um cartão ou copiar um trecho, mas não “troca” diretamente um cartão dentro da string original. Para obter outro texto, cria uma nova sequência.

Conceitos essenciais, sem pular etapas

Índices

A primeira posição é 0. Em "Python", texto[0] é "P" e texto[1] é "y".

Índices negativos

-1 referencia o último caractere, -2 o penúltimo e assim por diante.

Fatiamento

texto[inicio:fim] cria um trecho que começa no índice inicial e para antes do final.

Métodos

strip(), lower(), upper() e replace() retornam novas strings transformadas.

Imutabilidade

Você não pode fazer texto[0] = "X". Para alterar, construa outra string.

Modelo mental

STRING → POSIÇÕES/SLICE/MÉTODOS → NOVA STRING → USO

Exemplo 1 — primeiro veja o programa inteiro

texto = "Programar"
print(texto[0])
print(texto[-1])
print(texto[0:4])
print(texto.lower())
print(len(texto))

Agora vamos ler linha por linha

  • O índice 0 seleciona o primeiro caractere, P.
  • O índice -1 seleciona o último, r.
  • O fatiamento 0:4 pega posições 0,1,2,3 e produz Prog.
  • lower() produz uma nova versão em minúsculas.
  • len() conta quantos caracteres existem.

Saída esperada

P
r
Prog
programar
9

Exemplo 2 — o mesmo conceito em outra situação

entrada = "  SIM  "
normalizada = entrada.strip().lower()
print(normalizada)
print(normalizada == "sim")

Normalização textual é muito útil antes de comparar respostas do usuário. Primeiro removemos espaços externos; depois convertemos para minúsculas.

Experimento guiado

Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.

  1. Use índices para mostrar primeiro e último caractere de uma palavra.
  2. Teste fatiamentos diferentes e lembre que o fim é exclusivo.
  3. Tente mentalmente texto[1:4] antes de executar.
  4. Normalize entradas como “ Sim ” e “SIM” para uma forma comum.

Mini desafio

Com palavra = "computador", mostre os quatro primeiros caracteres, os três últimos e a versão em maiúsculas.

Solução comentada

palavra = "computador"
print(palavra[:4])
print(palavra[-3:])
print(palavra.upper())

Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.

Erros comuns e por que acontecem

  • Esquecer que o primeiro índice é 0.
  • Esperar que o limite final do slice seja incluído.
  • Tentar alterar um caractere por atribuição e encontrar TypeError.
  • Chamar lower() sem guardar ou usar o valor retornado e achar que a string original mudou.

Cheque se você realmente entendeu

Qual é o índice do primeiro caractere?

Resposta: 0.

Strings são mutáveis?

Resposta: Não; transformações produzem novas strings.

O que texto[:3] faz?

Resposta: Produz um trecho do início até antes do índice 3.

Resumo em linguagem simples

Nesta aula, o ponto central foi Strings como sequências. Tente explicar o modelo STRING → POSIÇÕES/SLICE/MÉTODOS → NOVA STRING → USO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.

Conexão com a próxima aula

Na próxima aula, Listas e mutabilidade, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.