Exercícios Resolvidos de Operações com String

Ver Teoria

Enunciado

Escreva um programa que receba uma string e retorne uma concatenação da string com 4 cópias da string formada pelo primeiro, segundo, último e penúltimo caracteres. Exemplo, se a entrada for abcdefg, a saída será abcdefgabgfabgfabgfabgf .

Passo 1

Cara, já que a gente tem que receber alguma coisa do usuário, vamos começar perguntando, com a função input().

Beleza! Agora, a gente precisa pegar a sequência descrita no enunciado: primeiro, segundo, último e penúltimo.

Passo 2

Pra preparar nossa sequência, vamos usar fatiamento de string.

Na primeira parte, a gente pega a string do início até o segundo intervalo. A gente também concatena com os últimos caracteres de trás pra frente depois. Mas calma, vou te lembrar dessa parada de fatiamento. Se liga na palavra de exemplo:

Pra usar fatiamento, a gente precisa se ligar nos intervalos entre as letras.

Repara que quando a gente usa palavra[:2], a gente tá pedindo as letras entre as barrinhas 0 e 2. Repara que, independente da palavra, esse intervalo vai retornar as duas primeiras letras da string, sacou?! Beleza. A segunda parte ali parece um pouco mais complicada, mas nem é! Saca só:

A gente também consegue usar índices negativos pra contar as barrinhas de intervalos de trás pra frente. Porém, saca que a última barra é -1. Se liga que se a gente quer as últimas duas letras, elas sempre vão estar entre as barrinhas -1 e -3. Por isso a gente usou palavra[-1:-3].

Mas além disso, a gente quer que essas duas letras venham de trás pra frente (ultimo e depois penúltimo). E, pra gente inverter uma string, a gente usa o passo -1. Por isso, o intervalo fica palavra[-1:-3:-1].

Passo 3

Agora que a gente já tem a sequência de primeiro-segundo-último-penúltimo, agora vamos juntar ela numa nova variável. No enunciado diz que o resultado a ser exibido é a concatenação da string original com 4 vezes a sequência que a gente pegou.

Beleza! Agora a gente só precisa exibir o resultado pro usuário!

Passo 4

Pra exibir o resultado pro usuário, vamos usar a função print()!

Pronto! Finalizamos nosso exercício! Como o enunciado fornece dados de teste, é uma boa ideia a gente testar. Nesse caso, por ser trivial, deixo o teste a cargo do leitor…

Tô zoando, bora executar esse programa e testar!

Executei e coloquei a entrada fornecida no enunciado, e o resultado foi igualzinho o fornecido pelo enunciado. Isso quer dizer que nossa resolução tá certa! Ufa! Te vejo no próximo exercício, meu chegado.

Resposta