Faça um programa em Python que leia na primeira linha da entrada padrão uma ou mais palavras a serem procuradas em um texto que deverá ser lido nas linhas seguintes da entrada padrão. A última linha lida, delimitando o fim do texto, é a linha contendo apenas a palavra Fim. Para cada uma das palavras procuradas seu programa deve escrever a quantidade de ocorrências dentro do texto. Teste:
Entradas:
pedra tinha no
No meio do caminho tinha uma pedra
tinha uma pedra no meio do caminho
tinha uma pedra
no meio do caminho tinha uma pedra
Nunca me esquecerei desse
acontecimento
na vida de minhas retinas tão fatigadas
Nunca me esquecerei que no meio do caminho
tinha uma pedra
tinha uma pedra no meio do caminho no meio do caminho tinha uma pedra
Fim
Saídas:
Listagem das Ocorrências das Palavras:
pedra ocorreu 7 vez(es)
tinha ocorreu 7 vez(es)
no ocorreu 5 vez(es)
# Programa Frequência de Palavras Escolhidas em Texto
# Subprogramas
# Principal
#
Entradas:
pedra tinha no
No meio do caminho tinha uma pedra
tinha uma pedra no meio do caminho
tinha uma pedra
no meio do caminho tinha uma pedra
Nunca me esquecerei desse
acontecimento
na vida de minhas retinas tão fatigadas
Nunca me esquecerei que no meio do caminho
tinha uma pedra
tinha uma pedra no meio do caminho no meio do caminho tinha uma pedra
Fim
Saídas:
Listagem das Ocorrências das Palavras:
pedra ocorreu 7 vez(es)
tinha ocorreu 7 vez(es)
no ocorreu 5 vez(es)
# Programa Frequência de Palavras Escolhidas em Texto
# Subprogramas
# Principal
#
Passo 1
Beleza, vamos lá! O exercício pede pra gente criar um programa em Python que lê algumas palavras que queremos procurar num texto. A gente vai ler essas palavras na primeira linha. Depois, vai ler várias linhas de texto até encontrar a palavra “Fim”, que indica o final. Nosso objetivo é contar quantas vezes cada palavra procurada aparece nesse texto. Vamos precisar saber como ler entradas em Python, dividir textos em palavras e contar ocorrências.
Passo 2
Primeiro, precisamos ler a primeira linha da entrada, que contém uma ou mais palavras que queremos procurar. Em Python, a gente usa a função
input()
pra ler entrada do usuário. Depois, vamos dividir essa linha em uma lista de palavras usando o método split()
. Isso facilita a gente trabalhar com cada palavra individualmente.palavras_procuradas = input().split()
Passo 3
Agora, vamos ler as linhas seguintes do texto até encontrar a linha que contém apenas a palavra “Fim”. Para isso, podemos usar um loop
while
que continua lendo linhas até que a linha lida seja “Fim”. Vamos armazenar todas essas linhas de texto em uma única string para facilitar a contagem depois.texto = ""
while True:
linha = input()
if linha == "Fim":
break
texto += linha + " "
Passo 4
Com o texto todo armazenado, precisamos contar quantas vezes cada palavra procurada aparece nele. Para isso, vamos primeiro transformar o texto em uma lista de palavras, dividindo pelo espaço. Depois, para cada palavra que queremos contar, usamos o método
count()
da lista para saber quantas vezes ela aparece.palavras_no_texto = texto.lower().split()
Nota: Usei
lower()
para garantir que a contagem não seja sensível a maiúsculas e minúsculas.Passo 5
Finalmente, vamos imprimir os resultados de acordo com o formato solicitado. Primeiro, mostramos uma mensagem inicial, depois listamos cada palavra procurada com o número de vezes que ela apareceu no texto.
print("Listagem das Ocorrências das Palavras:")
for palavra in palavras_procuradas:
contagem = palavras_no_texto.count(palavra.lower())
print(f"{palavra} ocorreu {contagem} vez(es)")
Resposta
Aqui está o programa completo que resolve o exercício:
# Programa Frequência de Palavras Escolhidas em Texto
# Subprogramas
# Principal
palavras_procuradas = input().split()
texto = ""
while True:
linha = input()
if linha == "Fim":
break
texto += linha + " "
palavras_no_texto = texto.lower().split()
print("Listagem das Ocorrências das Palavras:")
for palavra in palavras_procuradas:
contagem = palavras_no_texto.count(palavra.lower())
print(f"{palavra} ocorreu {contagem} vez(es)")
Este programa funciona da seguinte maneira:
- Lê as palavras que queremos procurar.
- Continua lendo linhas de texto até encontrar “Fim”.
- Converte todo o texto para minúsculas e divide em palavras.
- Conta quantas vezes cada palavra procurada aparece.
- Imprime os resultados conforme o formato solicitado.