1
resposta

o meu contabiliza somente 11 vogais, acho que por conta dos acentos

def contar_vogais(frases):
 
 vogais= "aeiou"
 cont=0
 for letra in frases.lower():
   if letra in vogais:
    cont+=1
 return cont
   
  
frases=input('Digite um Texto: ')
print(f"O texto contém {contar_vogais(frases)} vogais.")
1 resposta

Andressa, por causa disso mesmo! No seu código você está contando apenas as vogais sem acento (a, e, i, o, u). Letras como á, é, í, ó, ú, ã, õ, â, ê, ô são caracteres diferentes em Python, então não entram nessa contagem. Por isso o resultado acaba sendo menor do que o esperado. Então o seu código está certo para textos sem acentuação. O comportamento que você viu não é um erro, é só uma limitação esperada da forma como as vogais foram definidas.