Contar Vocales
Cuenta cuántas vocales hay en una cadena. Practica la iteración sobre strings, el operador 'in' y el manejo de mayúsculas en Python.
for loop in operator str.lower() contador sum()
El problema
Escribe una función contar_vocales(texto) que devuelva el número de vocales (a, e, i, o, u) en el texto.
La función debe contar tanto mayúsculas como minúsculas como vocales válidas.
Ejemplos
| texto | resultado |
|---|---|
"hola mundo" | 4 |
"Python" | 1 (solo la ‘o’) |
"AEIOU" | 5 |
"rhythm" | 0 |
"" | 0 |
Código inicial
def contar_vocales(texto):
# Tu código aquí
pass
print(contar_vocales("hola mundo")) # 4
print(contar_vocales("Python")) # 1
print(contar_vocales("AEIOU")) # 5
Concepto clave: el operador in
El operador in comprueba si un elemento está dentro de una secuencia:
"a" in "aeiou" # True
"b" in "aeiou" # False
"A" in "aeiou" # False ← ojo con mayúsculas
"A".lower() in "aeiou" # True ← solución
Variante: contar cada vocal por separado
from collections import Counter
def contar_vocales_detalle(texto):
vocales = "aeiouáéíóú"
conteo = Counter(c.lower() for c in texto if c.lower() in vocales)
return dict(conteo)
print(contar_vocales_detalle("murciélago"))
# {'u': 1, 'i': 1, 'é': 1, 'a': 1, 'o': 1}
Próximos pasos
- Modifica la función para que devuelva un diccionario
{vocal: cantidad}en vez de un número - Extiende para contar consonantes también
- Calcula el porcentaje de vocales sobre el total de letras