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

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

Exercícios relacionados