1
resposta

[Dúvida] Esta conforme ?

from collections import Counter

class Texto:
    def __init__(self, texto):
        self.texto = str(texto)

    def contar_vogais(self):
        vogais = ["a", "e", "i", "o", "u"]
        texto_minusculo = self.texto.lower()

        contador = Counter()

        for letra in texto_minusculo:
            if letra in vogais:
                contador[letra] += 1

        total = sum(contador.values())

        return contador, total
from praticanos_projetos.Contagem_de_vogais_em_um_texto import Texto

def main():
    texto_usuario = input("Digite um texto: ")
    t = Texto(texto_usuario)

    contador, total = t.contar_vogais()

    print("Contagem por vogal: {}".format(contador))
    print("Total de vogais: {}".format(total))


if __name__ == "__main__":
    main()
1 resposta

Oi, Samuel! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você organizou a solução usando uma classe e separou bem a responsabilidade do método contar_vogais, além de usar Counter para facilitar a contagem, o que deixa o código mais limpo e legível.

Uma dica interessante para o futuro é usar compreensão de listas junto com sum para simplificar algumas partes da lógica. Veja este exemplo:


texto = "Exemplo de texto"
vogais = "aeiou"
total = sum(1 for letra in texto.lower() if letra in vogais)
print(total)

Esse código percorre o texto, verifica se cada letra é uma vogal e soma automaticamente a quantidade encontrada.

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