Leia um arquivo texto.txt e conte a quantas vezes cada palavra ocorre no texto, criando dois vetores distintos ou utilizando a estrutura de dicionários. Você tem ainda que considerar que o texto possui pontuação e números, que não deverão fazer parte da contagem.

Passo 1

Beleza, vamos lá! O que você precisa fazer nesse exercício é ler um arquivo chamado texto.txt e contar quantas vezes cada palavra aparece nesse texto. Para isso, vamos usar estruturas de dados que nos ajudem a armazenar essas contagens, como dois vetores (listas) separados ou um dicionário. Além disso, precisamos garantir que sinais de pontuação e números não sejam incluídos na contagem das palavras. Vamos usar conceitos de manipulação de arquivos, processamento de strings e estruturas de dados em programação para resolver isso.

Passo 2

Primeiro, precisamos abrir e ler o conteúdo do arquivo texto.txt. Em Python, usamos a função open() para isso. Vamos abrir o arquivo no modo de leitura:
with open('texto.txt', 'r', encoding='utf-8') as arquivo:
    conteudo = arquivo.read()
Aqui, conteudo vai armazenar todo o texto presente no arquivo.

Passo 3

Agora que temos o conteúdo do arquivo, precisamos remover a pontuação e os números para que apenas as palavras fiquem. Para isso, podemos usar a biblioteca string do Python, que possui uma lista de caracteres de pontuação que podemos eliminar:
import string

# Remove pontuação e números
tabela_traducao = str.maketrans('', '', string.punctuation + string.digits)
conteudo_limpo = conteudo.translate(tabela_traducao)
Explicando: str.maketrans() cria uma tabela de tradução que remove todos os caracteres de pontuação e dígitos. Depois, translate() aplica essa tabela ao conteúdo do texto.

Passo 4

Com o texto limpo, vamos transformar todas as letras em minúsculas para evitar contar a mesma palavra com letras maiúsculas e minúsculas como diferentes:
conteudo_limpo = conteudo_limpo.lower()
Isso ajuda a padronizar as palavras para a contagem.

Passo 5

Agora, vamos dividir o texto em palavras individuais. Para isso, usamos o método split(), que separa o texto onde há espaços:
palavras = conteudo_limpo.split()
Agora, palavras é uma lista contendo todas as palavras do texto.

Passo 6

Vamos contar a frequência de cada palavra. Podemos fazer isso de duas maneiras: usando dois vetores (listas) separados ou utilizando um dicionário. Vou mostrar como fazer com um dicionário, que é mais eficiente para esse tipo de tarefa.
frequencia = {}

for palavra in palavras:
    if palavra in frequencia:
        frequencia[palavra] += 1
    else:
        frequencia[palavra] = 1
Aqui, percorremos cada palavra na lista palavras. Se a palavra já estiver no dicionário frequencia, incrementamos seu contador. Caso contrário, adicionamos a palavra ao dicionário com um contador inicial de 1.

Passo 7

Por fim, vamos exibir o resultado da contagem:
for palavra, contagem in frequencia.items():
    print(f"A palavra '{palavra}' aparece {contagem} vezes.")
Isso vai mostrar cada palavra e quantas vezes ela apareceu no texto.

Passo 8

with open(‘texto.txt’, ‘r’, encoding=‘utf-8’) as arquivo:
conteudo = arquivo.read()

Passo 9

tabela_traducao = str.maketrans(’’, ‘’, string.punctuation + string.digits)
conteudo_limpo = conteudo.translate(tabela_traducao)

Passo 10

conteudo_limpo = conteudo_limpo.lower()

Passo 11

palavras = conteudo_limpo.split()

Passo 12

frequencia = {}
for palavra in palavras:
if palavra in frequencia:
frequencia[palavra] += 1
else:
frequencia[palavra] = 1

Passo 13

for palavra, contagem in frequencia.items():
print(f"A palavra ‘{palavra}’ aparece {contagem} vezes.")

Resposta

Esse código vai ler o arquivo texto.txt, limpar o texto removendo pontuação e números, contar quantas vezes cada palavra aparece e exibir esses resultados de forma clara. Experimente rodar e veja a contagem das palavras do seu texto!

Exercícios relacionados