1
resposta

[Sugestão] Minha sugestão de código

def contando_vogais(string): 
    string = string.lower()
    result = 0 
    vogais = r'[aeiou]+[áé]'
    for i in vogais: 
        result += string.count(i)
    return result

texto = input('Digite um texto: ')
print(f'O texto contém {conta_vogais(texto)} vogais.')
1 resposta

Oi, João! Como vai?

Gostei da iniciativa de aplicar regex na definição das vogais, isso mostra uma preocupação com acentuação e variedade. No entanto, ao iterar sobre a variável vogais, que está como uma string, o código acaba contando apenas os caracteres a, e, i, o, u, +, [, á, é, ] individualmente, o que não é o esperado.

Uma dica interessante para o futuro é usar listas para representar as vogais e iterar sobre elas. Veja este exemplo:


def conta_vogais(texto):
    texto = texto.lower()
    vogais = ['a', 'e', 'i', 'o', 'u']
    total = 0
    for v in vogais:
        total += texto.count(v)
    return total

Esse código percorre uma lista com as vogais e soma quantas vezes cada uma aparece.

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