Faça uma função que dada uma frase retorne uma outra frase que contenha as mesmas palavras da frase de entrada na ordem inversa, sem letras maiúsculas, e sem a pontuação.
DICA: remova a pontuação da frase, usando a função que você fez pro exercício anterior. Para reaproveitar uma função feita no Machine Teaching, copie o código completo da função e cole na caixa de resposta do exercício onde quer utilizá-la. Faça então a função pedida no exercício, embaixo da que você colou, e dentro dela você irá chamar a que está reutilizando.
Exemplo:
frase lida: Nossa, como eu gosto de chocolate.
frase alterada: chocolate de gosto eu como nossa
DICA: remova a pontuação da frase, usando a função que você fez pro exercício anterior. Para reaproveitar uma função feita no Machine Teaching, copie o código completo da função e cole na caixa de resposta do exercício onde quer utilizá-la. Faça então a função pedida no exercício, embaixo da que você colou, e dentro dela você irá chamar a que está reutilizando.
Exemplo:
frase lida: Nossa, como eu gosto de chocolate.
frase alterada: chocolate de gosto eu como nossa
Passo 1
Primeiro, vamos entender o que a questão está pedindo. Precisamos criar uma função que receba uma frase e retorne outra frase com as mesmas palavras, mas na ordem inversa, todas em letras minúsculas e sem pontuação. Para isso, vamos precisar utilizar conceitos de manipulação de strings, como remover pontuação, converter para minúsculas, dividir a frase em palavras e inverter a ordem das palavras.
Passo 2
Vamos começar reutilizando uma função que remove a pontuação de uma frase. Supondo que já tenhamos uma função chamada
remove_pontuacao
, que recebe uma frase e retorna a mesma sem os sinais de pontuação.def remove_pontuacao(frase):
import string
return frase.translate(str.maketrans('', '', string.punctuation))
Passo 3
Agora, vamos criar a função principal que irá processar a frase conforme solicitado. Vamos chamá-la de
inverter_frase
.Passo 4
Dentro da função
inverter_frase
, primeiro vamos receber a frase de entrada como parâmetro.Passo 5
Em seguida, utilizaremos a função
remove_pontuacao
para eliminar qualquer pontuação presente na frase.Passo 6
Após remover a pontuação, vamos converter toda a frase para letras minúsculas usando o método
.lower()
. Isso garante que todas as palavras fiquem uniformes.Passo 7
Com a frase sem pontuação e em minúsculas, vamos dividir a frase em uma lista de palavras utilizando o método
.split()
. Isso separa a frase em partes individuais baseadas nos espaços.Passo 8
Agora que temos a lista de palavras, vamos inverter a ordem dessas palavras. Podemos fazer isso utilizando a função
reverse()
ou o slicing em Python.Passo 9
Depois de inverter a lista de palavras, vamos juntar essas palavras de volta em uma única string, separando-as novamente por espaços. Utilizamos o método
.join()
para isso.Passo 10
Por fim, a função
inverter_frase
irá retornar a nova frase já processada conforme as especificações: palavras na ordem inversa, todas em minúsculas e sem pontuação.Resposta
def remove_pontuacao(frase):
import string
return frase.translate(str.maketrans('', '', string.punctuation))
def inverter_frase(frase):
# Remove a pontuação da frase
frase_sem_pontuacao = remove_pontuacao(frase)
# Converte a frase para letras minúsculas
frase_minuscula = frase_sem_pontuacao.lower()
# Divide a frase em uma lista de palavras
palavras = frase_minuscula.split()
# Inverte a ordem das palavras
palavras_invertidas = palavras[::-1]
# Junta as palavras invertidas em uma nova frase
frase_invertida = ' '.join(palavras_invertidas)
return frase_invertida
# Exemplo de uso:
frase = "Nossa, como eu gosto de chocolate."
print(inverter_frase(frase))
# Saída: chocolate de gosto eu como nossa