2
respostas

[Bug] [AULA] - Praticando projetos Python

Minha contagem de palavras imprime somente uma palavra: !Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Código no Main

importar função contar_palavras do módulo contador

from contador import contar_palavras
'''

solicitar frase ao usuário

frase = input("Digite uma frase: ")
quantidade = contar_palavras(frase)
print(f"A frase tem {quantidade} palavras.")'''

solicitar frase ao usuário

frase = input("Digite uma frase: ").strip()

verificar se a frase está vazia

if not frase:

# informar que a frase está vazia
print("A frase está vazia.")

se não estiver vazia

else:

# chamar a função contar_palavras
resultado = contar_palavras(frase)

# imprimir o resultado
if resultado:

    # imprimir a contagem de palavras
    print("Contagem de Palavras:")

    # para cada palavra e sua quantidade no dicionário resultado
    for palavra, quantidade in resultado.items():

        # imprimir a palavra e sua quantidade
        print(f"{palavra}:{quantidade}")

# se o dicionário estiver vazio        
else:

    # informar que a frase não contém palavras
    print(f"Nenhuma palavra válida foi encontrada.")
    

Código no contador

função limpar texto

def limpar_texto(texto):

# converter para minúsculas
texto = texto.lower()

# remover pontuação
caracteres = ",.!|?;:\"'()[]{}"

# para cada caractere na string de caracteres
for char in caracteres:

    # substituir o caractere por vazio
    texto = texto.replace(char, "")

# retorna o texto limpo    
return texto

função contar palavras

def contar_palavras(frase):

# limpar a frase
frase = limpar_texto(frase)

# verificar se a frase está vazia
if not frase.strip():

    # retornar 0
    return {}

# dividir a frase em palavras
palavras = frase.split()

# dicionário para armazenar a contagem de palavras
contagem = {}

# contar a ocorrência de cada palavra
for palavra in palavras:

    # incrementar a contagem da palavra no dicionário
    contagem[palavra] = contagem.get(palavra, 0) + 1
    
    # contagem[palavra] = contagem.get(palavra, 0) + 1
    return contagem

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Main.py

função contar palavras

funç

Bom dia, Hélio! Tudo certo?

Analisando seus códigos, posso dizer que você fez um excelente trabalho. Todos os códigos estão corretos e seguem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!