Exercícios Resolvidos de Operações com String

Ver Teoria

Enunciado

Considere S a string contendo o seguinte poema em Python:

  1. Qual fatiamento de S corresponde a string “tchutchuca”?
  2. Qual fatiamento de S corresponde a string “funk”?
  3. Qual fatiamento de S corresponde a string “adnil” (“linda” de trás pra frente)?

Passo 1

Fala aí, cara! Na verdade, o principal objetivo desse exercício é fazer a gente pensar sobre os caracteres “\n”. Isso aí, o número de caracteres desta string S é diferente do que tu pensa, brow! Se liga que cada quebra de linha é representada por um caractere “\n”, e nessa string tem 3 quebras de linha.

Quando a gente aperta enter pra pular uma linha, o computador automaticamente insere um “\n”. E esses \n são contados como caracteres da string, sacou? Nesse caso, o tamanho da string é a quantidade de letras e espaços + 3 “\n”. Depois que tu se ligar nisso, pra resolver o exercício é só ir contando as letras. Vamo lá!

Passo 2

No item A, pra gente pegar só a palavra “tchutchuca” na string S, precisamos saber o intervalo dessa palavra na string. Pra isso, bora contar as letras.

Antes de começar a palavra que a gente tá buscando, tem 53 letras (contando com os espaços). Mas a gente tem que contar com as duas quebras de linha também!

Por isso, a nossa palavra começa no índice 55. Só precisamos saber até qual índice a palavra vai pra gente conseguir pegar a fatia certinha. Vamos contar quantas letras tem a palavra “tchutchuca”.

Eu contei aqui e deu 10. Então, se o índice começa em 55 e a palavra tem 10 letras, o índice do final da palavra é 55+10 = 65. Vamos testar!

O resultado desse programa foi:

Então é isso mesmo! Conseguimos! Partiu letra B.

Passo 3

Precisamos fazer a mesma coisa com a palavra “funk”. Felizmente essa palavra tá mais perto, aí vamos ter que contar menos letras! hahahah

Antes da palavra tem 15 letras, contando com os espaços. Além disso, não pulamos linha nenhuma vez. Então, vamos começar o fatiamento no índice 15.

Agora, vamos contar o número de letras da palavra “funk”.

Contei aqui e deu 4. Então, se a palavra começa no 15 e tem 4 letras, ela deve terminar em 15+4 = 19, certo?! Por isso, o fatiamento que corresponde a palavra “funk” é S[15:19].

Deu certo! Partiu item C.

Passo 4

Caraca! Vamos ter que contar um montão de letras agora. Porém, não esquece que a gente quer pegar a palavra de trás pra frente. Então vamos contar quantas letras tem até o início da nossa string. Se liga que o início da palavra “adnil” começa no “a”. Quantas letras tem até esse “a”?

Até aqui tinha 70 letras, contando com espaços e quebras de linha. Se liga que, como a gente quer a palavra de trás pra frente, o início de “adnil” é no fim da palavra “linda”. E o fim da palavra “adnil” é no início da palavra “linda”. Doideira, né?! Mas aí a gente consegue a string de trás pra frente.

Se liga que a palavra começa no índice 70, e a palavra “adnil” tem 5 letras. Então, o fim do intervalo do fatiamento é 70-5= 65.

Como resultado, esse programa não exibe NADA. Precisamos pensar em uma parada antes de finalizar essa questão. Acontece que nosso intervalo tá começando em 70 e terminando em 65. Reparou que tá decrescendo?! Quando a gente usa intervalos decrescentes, temos que enfatizar!! Pra isso, vamos usar o passo -1. Ficaria S[70:65:-1].

Agora sim! Conseguimos finalizar mais esse item, e parece que era o último!!! Ufa! FInalizamos o exercício! Te espero no próximo, doido.

Resposta

  1. S[55:65]
  2. S[15:19]
  3. S[70:65:-1]