Aula 7: Textos

Objetivos

  • Experimentar possibilidades de uso do comando print()
  • Verificar o tamanho da string com a instrução len()
  • Concatenação de strings
  • Fatiamento de strings
  • Métodos comuns para strings

Preparação

Atividades

Conceitos computacionais

  1. Comece por definir uma string simples, entre aspas.

Aspas duplas ou simples?

Desde que exista um padrão, tanto faz. Você pode usar print('texto') ou print("texto")

  1. Armazene e imprima o conteúdo de variável
  2. Mostre como contar o número de caracteres com a função len()



(strings1)

  1. Reforce a questão de índices dentro do tipo string, demonstrando as formas de acesso. Você pode fazer isso de maneira fácil no console.
>>> "Programaê"[0]
'P'
>>> "Programaê"[8]
'ê'
>>> "Programaê"[9]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

A palavra “Programaê” tem 9 caracteres. O primeiro [0] e o último [8], ao tentarmos acessar um índice acima, ex [10] obtemos um erro indicando que o índice esta fora da faixa permitida.

  1. Fatiamento de strings.



(strings2)

Pontos importantes:

  • O índice da string sempre começa em “0” (o primeiro item é a posição zero)
  • Não se esqueça que espaços em branco " " também são considerados.
  • Para acessar um único caracter utilizamos: texto[índice]
  • Para um fatiamento pode ser completo utilizamos posição de início : posição final (mas em incluí-la).
  1. Trabalhe funções comuns para manipular strings



(s3)

Funções mais avançadas: encontrar & substituir

As funções find e replace são sugestões para demonstrar o processo de encontrar e substituir textos.

# retorna o índice da primeira ocorrência da letra 'a'
print( u"programar É muito bom".find('a') )

# substitui todos os espaços em branco por '_'
print( u"programar É muito bom".replace(' ','_') )

É possível deixar o texto mais amigável introduzindo quebras de linha ou caracteres especiais. Por exemplo, como adicionar uma aspas se ela é o delimitador do tipo string? A linguagem Python oferece um caractere de escape, ou seja, tudo que estiver em seguida ao \ irá ser ignorado pelo interprador. Alguns exemplos:

Caracteres de escape (\)

  • barra invertida \\
  • aspas simples \'
  • aspas duplas \"
  • quebra de linha \n
  • seção tabular \t

Um erro comum acontece ao definirmos uma string. Ao utilizarmos um caractere de escape para introduzir uma aspa e esquecermos fechá-la obteremos um erro de sintaxe, descrito no exemplo abaixo:

>>> print("programaê\")
File "<stdin>", line 1
  print("programaê\")
                     ^
SyntaxError: EOL while scanning string literal

Percorrendo strings

Na aula anterior aprendemos um uso do for para percorrer uma faixa de números. Incentive os alunos a pensar como utilizar os tópicos aprendidos na aula de hoje pare ensinar percorrer uma string.

Utilize este pequeno programa para mostrar a execução no modo passo a passo.

(s5)

Mas se pensarmos uma string como uma lista de caracteres? Podemos aplicar a mesma idéia ara percorrer uma string.




(s6)

Proposta

  • Impressão de poesias (haikais) com print() e o delimitador \t



(strings4)

  • Construir um validador de twitts. Como saber se meu texto “cabe” dentro de uma mensagem no Twitter (limite de 140 caracteres)
  • Construir um buscador de palavras no textual

Atividades para a empresa

Reflexão

  • Onde este tipo de manipulação pode ser utilizado nas aulas de literatura/português?