Faça uma função que, dada uma frase, retorne a frase onde todos os caracteres de pontuação (incluindo travessão, vírgula, dois pontos, ponto e vírgula, além da pontuação de encerramento de frase) tenham sido substituídos por espaço.

Passo 1

Então, o que a gente tem aqui é um exercício de programação. A gente precisa criar uma função que, recebendo uma frase, vai substituir todos os caracteres de pontuação por espaços. Isso inclui coisas como vírgulas, pontos, dois pontos, ponto e vírgula, travessões e outros sinais que normalmente terminam uma frase. Para resolver isso, vamos precisar trabalhar com manipulação de strings, ou seja, trabalhar com o texto dentro da programação.

Passo 2

Primeiro, vamos pensar em quais caracteres de pontuação queremos substituir por espaços. A lista inclui:
  • Vírgula (,)
  • Ponto (.)
  • Dois pontos (😃
  • Ponto e vírgula (😉
  • Travessão (—)
  • Exclamação (!)
  • Interrogação (?)
  • Aspas (" ")
  • Parênteses ( () )
  • Outros que a gente imaginar

Passo 3

Agora, vamos pensar em como substituir esses caracteres por espaços. Uma maneira eficiente de fazer isso em Python é usando a biblioteca re, que lida com expressões regulares. As expressões regulares nos permitem identificar padrões específicos no texto, como todos os sinais de pontuação, e substituí-los facilmente.

Passo 4

Vamos criar a função passo a passo:
  1. Importar a biblioteca re: Isso nos dá acesso às funções de expressão regular.
  2. Definir a função: Vamos chamar a função de substituir_pontuacao.
  3. Criar um padrão de pontuação: Usaremos uma expressão regular que identifica todos os caracteres de pontuação que queremos substituir.
  4. Usar re.sub para substituir: Essa função substitui todas as ocorrências do padrão por espaço.
  5. Retornar a frase modificada.

Passo 5

Aqui está o código completo da função:
import re

def substituir_pontuacao(frase):
    # Define o padrão com todos os caracteres de pontuação que queremos substituir
    padrao = r'[.,:;!?—"\'()]'
    # Substitui todos os caracteres de pontuação por espaço
    frase_sem_pontuacao = re.sub(padrao, ' ', frase)
    return frase_sem_pontuacao

Resposta

A função substituir_pontuacao recebe uma frase e retorna a mesma frase com todos os caracteres de pontuação substituídos por espaços. Por exemplo:
frase = "Olá, mundo! Como vai você?"
print(substituir_pontuacao(frase))
Saída:
Olá  mundo  Como vai você 

Exercícios relacionados