Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Resolução do exercício Contagem de vogais em um texto

Optei por criar um arquivo main.py e um arquivo contador.py.
Dentro do main, chamei a função que criei dentro do contador.
Utilizei o unicodedata para fazer o tratamento da vogais acentuadas.

Main.py
from contador import contar_vogais

texto = input('Escreva algo: ').lower()
num_vogais = contar_vogais(texto)

print(f'Número de vogais: {num_vogais}')


contador.py
import unicodedata

def contar_vogais(texto):
vogais = 'aeiou'
contador = 0

for letra in texto:
    letra_normalizada = unicodedata.normalize('NFD', letra)[0]
    if letra_normalizada in vogais:
        contador += 1
        
return contador
1 resposta
solução!

Olá, Luis! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o módulo unicodedata para tratar corretamente as vogais acentuadas com Python, utilizou muito bem a função normalize() para decompor os caracteres e ainda compreendeu a importância da separação de responsabilidades em arquivos para organizar melhor o código.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar o método set() para evitar contar vogais repetidas em determinadas situações. Assim:

def contar_vogais_unicas(texto):
    vogais = 'aeiou'
    letras = set(unicodedata.normalize('NFD', letra)[0] for letra in texto)
    return sum(1 for letra in letras if letra in vogais)

Isso faz com que o programa retorne apenas o número de vogais distintas presentes no texto, o que pode ser útil em alguns contextos.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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